2016-05-20 21 views
2

我在這裏發帖是因爲我對LWJGL很新,而且我遇到了一些問題。根據Apple的說法,我使用的計算機應該可以使用OpenGL 4.1,但是當我詢問版本時,它說的是OpenGL: 2.1 INTEL-10.6.31,然後在嘗試使用只有OpenGL 3.0可用的函數時出現錯誤。錯誤的OpenGL版本正在報告中

這裏是鏈接到Apple's page,說明我現在用的電腦,2014年的MacBook Air,應該OpenGL的4.1

的代碼我使用找到的版本已經是:

GL.createCapabilities(); 
System.out.println("OpenGL: " + glGetString(GL_VERSION)); 

希望有人知道這裏發生了什麼。

回答

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

如果任何人有更好的解決方案或澄清它的工作原理,我會有興趣收到你的消息。

乾杯!