java - 我正在尝试使用 GLU.gluPerspective(),但它给了我静态引用错误

标签 java lwjgl jogl

好吧。我对 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 - 我确实知道这意味着什么,但我不太确定为什么我会得到这个。

我从 LWJGL 3 的页面复制/粘贴示例代码来获取大部分代码。为了绘制立方体,我使用了在网上找到的另一段代码。

代码相当长,你可以得到它at this pastebin link.

对上面的内容有一点注释,第 158 行到第 174 行使用我的自定义 Player 类和 Keyboard 类,它们是最小的,并且不会影响我在其中获取错误的操作。

那么为什么这会给我这个错误,尽管我实例化了一个新的 Main() ?是不是我对Java的内存有点生疏了? (pastebin代码是Main.java)

最佳答案

如错误消息中所述,gluPerspective 不是类 GLU 的静态方法,这意味着您需要一个 GLU 对象来调用它:

GLU glu = new GLU();
glu.gluPerspective(80, 4/3, 0.1, 10000);

JOGL user guide 中也对此进行了解释:

To use the GLU, simply instantiate a GLU object via new GLU() at the beginning of your program. The methods on the GLU object may be called at any point when an OpenGL context is current. Because the GLU implementation is not thread-safe, one GLU object should be created for each GLEventListener or other entity performing OpenGL rendering in a given thread.

关于java - 我正在尝试使用 GLU.gluPerspective(),但它给了我静态引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42041710/

相关文章:

java - JOGL绘制VBO黑屏

java - 验收测试 Java OpenGL 应用程序

java - 如何将第三方 jar 库引用到 TeamCity 构建的 Java 项目中?

java - RxJava + Retrofit - 进行多次调用

java - Spring 安全 java.lang.IllegalArgumentException : Non-hex character in input

java - 初始化后 OpenGL 窗口卡住

java - 即使 JPA 实体不脏,我也可以强制 spring-data 更新可审计字段吗?

java - LWJGL 多重纹理不起作用

java - LWJGL 项目 java.lang.NoClassDefFoundError

java - JOGL GLCanvas 的按键绑定(bind) (java)