设置窗口提示后,glfwCreateWindow()不起作用

时间:2014-04-20 13:40:09

标签: c++ opengl glew glfw

我遵循使用glfwWindowHint()设置他正在使用的GLFW版本的教程。他在OSX上,我在Windows上。我和他的代码完全相同。当我这样做时:

glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);

然后这个:

GLFWwindow* window = glfwCreateWindow(640, 360, "Modern OpenGL", NULL, NULL);

它始终返回NULL。但在教程中他说,设置窗口提示是使用程序使用的代码所必需的。当我取出窗口提示时,窗口成功创建,但随后崩溃(因为其他代码可能需要窗口提示更改)。

enter image description here

我在Windows XP上。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

有趣的是,此代码总是在OSX上返回NULL,因为OSX仅在核心配置文件中支持OpenGL> = 3,而此代码请求兼容性配置文件。

在Windows上,支持该版本的兼容性配置文件。但这取决于GPU和您安装的驱动程序。很可能你的系统根本不支持GL3.2。确保您使用的是最近的驱动程序。并检查您的GPU实际支持的GL版本。您可以尝试的一件事是将GLFW_OPENGL_FORWARD_COMPAT提示设置为GL_FALSE