質問

私が使用して、動作するように画面のレンダリングをオフにするために Java3Dの1.5.2 にしようとしてきました。私は、オフスクリーンCanvas3Dするレンダリングを行います拡張SimpleUniverseを添付しようとしてきたの私のソースコードでしかし壊れるそうするレンダリングます:

62.  // FOR SOME REASON THIS BREAKS RENDERING
63.  universe.getViewer().getView().addCanvas3D(canvas);

完全なソースコードは、私は上Pastieを経由して、それが利用可能にStackOverflowの上に貼り付けるには少し大きすぎます>。

ライン63はコメントアウトと普通Canvas3Dは、画面上のレンダリングを行う持ってきました。これは、キューブをレンダリングしJFrameでこれを表示します。しかし、あなたがコメントを削除する場合は、オフスクリーンレンダリングレンダリングではないから、画面上の1の原因となります。また、オフスクリーンレンダリングは「大きな黒い何も」BufferedImageを返します。

私は、すなわち、オフスクリーンレンダリングの仕事を作る方法を知っているバッファリングされたイメージに回転キューブのシーンをレンダリングしたいと思います。 Java3Dのは、オフスクリーンレンダリングのためのサンプルコードを提供で私が見てきたし、彼らは(彼らは画面上のウィンドウに戻ってオフスクリーンバッファをレンダリングするRasterオブジェクトを使用することを除いて)だけでなく、このようにそれを行います。

役に立ちましたか?

解決

これは間違っているScreen3Dの物理的寸法であるかもしれません。値はメートル単位で物理画面の大きさになっています。あなたがしてテストすることができます:

screen3D.setPhysicalScreenWidth(0.0254/90.0 * destWidth);
screen3D.setPhysicalScreenHeight(0.0254/90.0 * destHeight);

の値は、Screen3D Javadocの上からです。問題の行は、

:)少なくとも私のために、上記のコードと一緒に働い

また、レンダリングされた画像のアスペクト比を変更することが間違った物理的寸法を設定します。

scroll top