我遵循使用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
。但在教程中他说,设置窗口提示是使用程序使用的代码所必需的。当我取出窗口提示时,窗口成功创建,但随后崩溃(因为其他代码可能需要窗口提示更改)。
我在Windows XP上。我该如何解决这个问题?
答案 0 :(得分:0)
有趣的是,此代码总是在OSX上返回NULL,因为OSX仅在核心配置文件中支持OpenGL> = 3,而此代码请求兼容性配置文件。
在Windows上,支持该版本的兼容性配置文件。但这取决于GPU和您安装的驱动程序。很可能你的系统根本不支持GL3.2。确保您使用的是最近的驱动程序。并检查您的GPU实际支持的GL版本。您可以尝试的一件事是将GLFW_OPENGL_FORWARD_COMPAT
提示设置为GL_FALSE
。