带有 JOGL 2.0 的 GLProfile 中的空指针异常
Posted
技术标签:
【中文标题】带有 JOGL 2.0 的 GLProfile 中的空指针异常【英文标题】:Null Pointer Exception in GLProfile with JOGL 2.0 【发布时间】:2011-10-18 08:14:51 【问题描述】:JOGL 2.0 向 GLCapabilities 添加了一个 GLProfile 参数。无论出于何种原因,使用这个简单的代码:
import javax.media.opengl.GLCapabilities;
import javax.media.opengl.GLProfile;
import javax.media.opengl.awt.GLCanvas;
public class Test
public static void main(String[] args)
GLCanvas canvas = new GLCanvas(new GLCapabilities(GLProfile.getDefault()));
我收到以下错误:
Exception in thread "main" java.lang.NullPointerException
at javax.media.opengl.GLProfile.getProfileMap(GLProfile.java:1561)
at javax.media.opengl.GLProfile.get(GLProfile.java:589)
at javax.media.opengl.GLProfile.getDefault(GLProfile.java:421)
at javax.media.opengl.GLProfile.getDefault(GLProfile.java:429)
at com.setcorp.mosey.Test.main(Test.java:7)
所以我什至无法创建用于我的 JOGL 2.0 应用程序的 GLCanvas。
代入:
GLCanvas canvas = new GLCanvas(new GLCapabilities(GLProfile.get(GLProfile.GL2)));
或
GLCanvas canvas = new GLCanvas(new GLCapabilities(null));
第 7 行给了我同样的错误。
我已将构建路径设置为包括 newt.all.jar、jogl.all.jar、nativewindow.all.jar 和gluegen-rt.jar。我从它们的原生 jar 中解压缩了 dll,并在 eclipse 中分别设置了原生库位置。我正在使用 jogl-2.0-b409-20110717-windows-i586 构建并运行 W7、Intel Core 2 Duo T8100 2.10GHz、2GB RAM 和 Nvidia Quadro NVS 140M。
有适合我的早期版本吗?
【问题讨论】:
【参考方案1】:您的代码看起来不错。只需在构建路径中仅使用这些 jar 即可尝试(见下文)。尝试时避免包含其他罐子。
jogl.all.jar jogl-all-natives-windows-i586.jar gluegen-rt.jar gluegen-rt-natives-windows-i586.jar【讨论】:
以上是关于带有 JOGL 2.0 的 GLProfile 中的空指针异常的主要内容,如果未能解决你的问题,请参考以下文章