我在LWJGL 主页面上找到了示例代码的略微修改版本。它可以工作,但它使用旧的 OpenGL 版本2.1
。如果我尝试使用GLFW doc中描述的前向兼容上下文,则使用的版本是4.1
(无论我提示什么主要/次要版本),都会创建窗口,但它在第一次调用glPushMatrix()
.
像这样启用前向兼容性:
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
我在控制台中打印的一些信息:
LWJGL 3.1.6 build 14
OS name Mac OS X
OS version 10.13.4
OpenGL version 4.1 ATI-1.66.31
记录:
[LWJGL] A function that is not available in the current context was called.
Problematic frame:
C [liblwjgl.dylib+0x1c494]
从这里我不知道该寻找什么。这段代码应该工作吗?还是我错过了一些仪式?许多资源已经过时,因此更难弄清楚。