【发布时间】:2009-08-28 11:10:20
【问题描述】:
我一直在尝试使用Java3D 1.5.2 使屏幕外渲染正常工作。在我的source code 中,我一直在尝试附加一个扩展的Canvas3D,它将对SimpleUniverse 进行屏幕外渲染,但这样做会破坏渲染:
62. // FOR SOME REASON THIS BREAKS RENDERING
63. universe.getViewer().getView().addCanvas3D(canvas);
完整的源代码有点太大,无法粘贴到 StackOverflow 上,所以我通过 Pastie 通过 here 提供了它。
第 63 行已被注释掉,并让普通的 Canvas3D 进行屏幕渲染。它将渲染一个立方体并将其显示在JFrame 中。但是,如果您删除评论,屏幕外渲染将导致屏幕上的内容无法渲染。此外,屏幕外渲染将返回“大黑无”BufferedImage。
我想知道如何使屏幕外渲染工作,即将旋转立方体的场景渲染为缓冲图像。我一直在查看 Java3D 提供的屏幕外渲染示例代码,他们也这样做(除了他们使用 Raster 对象将屏幕外缓冲区渲染回屏幕上的窗口) .
【问题讨论】:
标签: java 3d bufferedimage java-3d canvas3d