我正在使用的Java3D的渲染用Java编写的3D地球仪的应用程序。我有一个Windows安装程序从开发快照程序基本上将文件复制文件的目录。它运行来自devel的快照细,但后一个运行安装当它这样:

Java 3D ERROR : OpenGL 1.2 or better is required (GL_VERSION=1.1)  
javax.media.j3d.IllegalRenderingStateException: GL_VERSION  
    at javax.media.j3d.NativePipeline.createNewContext(Native Method)  
    at javax.media.j3d.NativePipeline.createNewContext(NativePipeline.java:2736)  
    at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:4895)  
    at javax.media.j3d.Canvas3D.createNewContext(Canvas3D.java:2421)  
    at javax.media.j3d.Renderer.doWork(Renderer.java:895)  
    at javax.media.j3d.J3dThread.run(J3dThread.java:256)  

我比较了发展目录和文件的所有库和罐子都完全一样,没有丢失。这是怪异的事情。我已经更新了我的显卡驱动程序(虽然他们足够清楚的事情,因为从devel的快照运行正常)。我写了一个简单的Java3D应用程序,能够使一个Canvas3D并添加ColorCube它。它运行良好。附:我们的发展快照包括所有的DLL,罐,并从运行JRE的东西。我们记录所有的库和JVM版本和他们正是从devel的快照和安装的应用程序生成的日志相同。我们运行使用显式路径JAVA.EXE(.. \ JRE \ BIN \ java.exe的),所以PATH变量是不是在玩。

我在寻找的想法调试此。我想编写一个简单的Java应用程序,打印所有GL属性,尤其是GL_VERSION,以试图证明这两个设置UPS之间的一些可量化的差别。该Java3D的文档不覆盖,并为GL_VERSION问题所有的互联网搜索只是告诉您更新驱动程序。

呵呵,我得的NVIDIA Quadro FX 3800个显卡。 “时间其实是两个。

在摘要...,点击 Q1:你如何打印GL_VERSION您Java3D的应用结果? Q2:什么?到底是怎么回事

有帮助吗?

解决方案

键入我的两块显卡后,我开始思考如何我最近使用四台显示器到三个开关,这样我就可以使用第四个为我的新的笔记本电脑。我们打开我们的应用程序已经在有我们的应用程序中的第四,现在不存在的监视器上开始了我的主文件夹保存的一些属性。看来,Java3D中没有发现的OpenGL中不存在的屏幕空间足够支持,并抛出上述异常。启动与有效屏幕坐标的应用解决了这一问题。

其他提示

检查GL_VERSION使用queryProperties()方法在您Canvas3D。

String glVersion = (String)getCanvas3D().queryProperties().get("native.version");

但这个错误不会显示的OpenGL准确的版本,使用上面的代码,你可能会看到,你是GL_VERSION不是1.1像堆栈跟踪(我有同样的错误使用OpenGL 1.5安装)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top