是否有一种确定性的方法可以独立检查Java 3D渲染功能?

时间:2013-06-19 20:20:59

标签: java-3d

我们有一个使用java 3D API的应用程序。 我知道java 3D将尝试使用机器上可用的任何3D渲染引擎。

  1. 是否有API可以检测客户端计算机是否能够使用整个java 3D API?
  2. 示例:最近我们使用带有Java Web Start 10.25.2.16的Windows 8平板电脑,使用JRE版本1.7.0_25-b16 Java HotSpot(TM)客户端VM从客户端获得了下面的堆栈跟踪。

    Exception occurred in RenderingErrorListener:java.lang.NullPointerException
                at sun.awt.SunToolkit.getSystemEventQueueImplPP(Unknown Source)
                at sun.awt.SunToolkit.getSystemEventQueueImplPP(Unknown Source)
                at sun.awt.SunToolkit.getSystemEventQueueImpl(Unknown Source)
                at java.awt.Toolkit.getEventQueue(Unknown Source)
                at java.awt.EventQueue.invokeLater(Unknown Source)
                at javax.swing.SwingUtilities.invokeLater(Unknown Source)
    

    我们实现了javax.media.j3d.RenderingError并得到以下消息:

      

    OFF_SCREEN_BUFFER_ERROR:渲染器:创建Canvas3D屏幕外缓冲区时出错   graphicsDevice = Win32GraphicsDevice [screen = 0]

    • 有没有办法获得有关错误的更多详细信息?
    • 有没有办法调试渲染引擎发现/选择?

1 个答案:

答案 0 :(得分:1)

Java 7u25中的WebStart版本不再将sun.awt.AppContext存储在系统线程组中。它将AppContext存储在主线程上。

因此,属于主线程组的线程组的线程不是没有AppContext的父级或祖父级。

另见:NullPointerException in invokeLater while running through Java Webstart