2

拡張するオブジェクトを回転させると、javafx.scene.shape.Shape主に 2D になるように設計されていたとしても (少なくとも私の知る限り)、3D 空間に変換できることはわかっています。

MeshViewさまざまなs が発生する 3D シーン (遠近法カメラと深度バッファーが使用されている) があるとします。エリアに使用されるものもあれば、ラインに使用されるものもあります。どちらの場合も、これらの形状は で描画するために三角形分割する必要がありますがTriangleMesh、これは多くの場合自明ではありません。

これらの線の描画をPolylineクラスを使用するように変更すると、パフォーマンスの低下がひどくなり、奇妙なアーティファクトが発生します。ポリラインの頂点が少なく、開発者がプロ​​グラムで三角測量を行う必要がないという事実から恩恵を受けることができると思いました。

javafx.scene.shape.Shape3D 空間内に広がる形状を使用することはお勧めできませんか? 彼らは内部でどのように描かれていますか?

4

1 に答える 1

5

質問が「3D 空間で 2D シェイプ オブジェクトを使用する必要がありますか?」JavaFX では、あなたが見ているすべてのひどいパフォーマンスが得られるので、答えはノーです。ただし、2D オブジェクトを使用して 3D 空間で回転させる JavaFX の 3D PolyLine オブジェクトの欠如を補おうとしているようです。その場合は、代わりに無料のオープンソース F(X)yz ライブラリを使用してください。

http://birdasaur.github.io/FXyz/

たとえば、PolyLine3D クラスを使用すると、Point3D のリストを指定するだけでそれらを接続できます。

/src/org/fxyz/shapes/composites/PolyLine3D.java

また、test ディレクトリで使用方法のサンプル コードを確認できます。

/src/org/fxyz/tests/PolyLine3DTest.java

于 2014-12-23T13:41:52.867 に答える