我已经开始通过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可以正常工作。添加窗口提示以使用核心配置文件并将forward-compatibility设置为true也无效。
有谁知道它可能是什么原因/这个问题的解决方案?
编辑:这是在Windows 7上。
答案 0 :(得分:2)
这样做:
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 ......
为什么?
检查FAQ - “4.1 - 如何创建OpenGL 3.0+上下文?”