好的。我是OpenGL的新手和類似的東西。我正在使用LWJGL 3和JOGL(對於GLU),並且我在自學過程中完全停下來。現在我正嘗試使用GLU.gluPerspective(80, 4/3, 0.1, 10000);
設置我的3D投影,但它給了我Cannot make a static reference to the non-static method gluPerspective(double, double, double, double) from the type GLU
- 我知道這是什麼意思,但我不太確定爲什麼我得到了這個。我正在嘗試使用GLU.gluPerspective(),但它給我的靜態參考錯誤
我複製/粘貼來自LWJGL 3頁面的示例代碼以獲取我的大部分代碼。爲了繪製立方體,我使用了另一個我在網上找到的代碼。
的代碼是相當長的,所以你可以得到它at this pastebin link.
記在上面,線158到174使用自定義播放器類和鍵盤類,它是最小的一點,並沒有什麼影響什麼我正在做他們的錯誤。
那麼,爲什麼這會給我這個錯誤,儘管我實例化了一個新的Main()
?我對Java的記憶有點生疏嗎? (該引擎收錄代碼是Main.java
)
您不能將JOGL與另一個用於OpenGL API的Java綁定混合使用,它的設計目的不在於此。如果你想要堅持使用GLU或者使用沒有GLU的其他Java綁定,你可以用JOGL完全重寫你的代碼。 JOGL有一個根本不同的設計:http://jogamp.org/wiki/index.php/Why_Instance_Design混合這兩個API對我來說是一個非常糟糕的主意。您可以對這兩種API使用JOML,因爲它包含一些類似於gluPerspective的數學工具。 JOGL也能夠模擬固定管道,查看com.jogamp.opengl.util.PMVMatrix和FixedFuncUtil。 – gouessej
但是,你不應該使用它,它是[不推薦使用的OpenGL](https://www.khronos.org/opengl/wiki/Legacy_OpenGL) – elect