gpt4 book ai didi

c++ - glfw 不创建窗口

转载 作者:搜寻专家 更新时间:2023-10-31 01:36:34 30 4
gpt4 key购买 nike

当我创建一个简单的 glfw 窗口并设置这两个标志时:

glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

窗口将为 NULL,我不知道为什么。如果没有调用这两个东西,将创建窗口。

下面是代码:

#include <iostream>
using namespace std;

#include <GL/glew.h>
#include <GLFW/glfw3.h>

int main() {

if (!glfwInit()) {
cout << "glfw did not initialize!" << endl;
return -1;
}

glfwWindowHint(GL_SAMPLES, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
//glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
//glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

GLFWwindow* window;
window = glfwCreateWindow(640, 300, "ARoo", NULL, NULL);
if (!window) {
cout << "window == null" << endl;
glfwTerminate();
return -1;
}

glfwMakeContextCurrent(window);

while (!glfwWindowShouldClose(window)) {
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwTerminate();
}

我使用 visual studi comunity 2015,windows 8.1 x64(glfw 和 glew 是 x32)我的视频驱动程序是最新的。

最佳答案

问题可能与请求的 OpenGL 配置文件有关。

您可以获得有关正在发生的事情的诊断消息,您只需要设置一个回调,这可以在 glfwInit() 之前完成:

static void glfwError(int id, const char* description)
{
std::cout << description << std::endl;
}

int main()
{
glfwSetErrorCallback(&glfwError);
glfwInit();
...

关于c++ - glfw 不创建窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35472224/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com