报告错误的OpenGL版本

时间:2016-05-20 02:22:19

标签: java lwjgl

我在这里发帖是因为我对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));

希望有人知道这里发生了什么。

1 个答案:

答案 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

如果有人有更好的解决方案或澄清其工作方式,我很乐意听取您的意见。

干杯!