我在这里发帖是因为我对LWJGL很新,我遇到了一些问题。根据Apple的说法,我使用的计算机应该可以使用OpenGL 4.1,但是当我要求版本时,它会显示OpenGL: 2.1 INTEL-10.6.31
,然后我尝试使用仅适用于OpenGL 3.0的函数时出错。
这是指向Apple's page的链接,说明我使用的计算机,即2014年的MacBook Air,应该有OpenGL 4.1
我用来查找版本的代码是:
GL.createCapabilities();
System.out.println("OpenGL: " + glGetString(GL_VERSION));
希望有人知道这里发生了什么。
答案 0 :(得分:4)
好的,所以我做了更多的挖掘,发现OSx默认使用GL 2.1,即使它安装了更新的软件。看起来有点傻,但它是如何工作的。
如果你们中的任何一个人也遇到了这个问题,我发现的解决方案是在创建窗口之前放入这些代码行。我不确定你必须这样做,但这对我有用:
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 1);
希望这有助于其他任何人处理此问题。
Link to where I found this solution
如果有人有更好的解决方案或澄清其工作方式,我很乐意听取您的意见。
干杯!