3

我已经开始通过 C++ 和 GLFW 使用 OpenGL,但调用glfwCreateWindow(...)并没有使用我系统上可用的最新版本的 OpenGL(当前为 4.3)创建上下文。我之前在 Java 和 LWJGL 中使用过 OpenGL 4.3 上下文,但自从切换到 GLFW 后,我一直没有成功。

添加调用到

    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);

导致glfwCreateWindow(...)返回错误代码,尽管将次要版本更改为 2 工作正常。添加窗口提示以使用核心配置文件并将前向兼容性设置为 true 也无效。

有谁知道它可能是什么原因/解决这个问题的方法?

编辑:这是在 Windows 7 上。

4

1 回答 1

3

做这个:

glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);  // yes, 3 and 2!!!
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);

无论如何你都可以使用 OpenGL 4.x...

为什么?

查看常见问题解答——“4.1 - 如何创建 OpenGL 3.0+ 上下文?”

于 2013-11-01T01:41:22.017 回答