JX |
J3D のデザインDesign of J3D |
J3D および JX3D ライブラリは、OpenGL互換ライブラリ Mesa を利用して3D グラフィックスをサポートします。理想的に、J3D は、3Dレンダリング・エンジンから独立しております。JGL* および JXMesa* だけが実際に、 OpenGL に依存することとなります。
Java3D の設計は、非常に参考になると思います。
J3DObject は、基本的なコンテナー・クラスです。最終的に、これらは以下の機能を提供します。:
合成オブジェクトは、J3DComposite から派生しており、全部のコンテナーJ3DUniverse は、また すべてを含むJ3DObject からの派生であります。
すべてのプリミティブは、J3DObject から派生します。
グループとプリミティブの考え方を区別する為に、コードを単純化します。グループは、その子のバウンディング・キューブを含有を計算し、何かを描画する時のみ最適化します。
J3DUniverseを表示するには、ひとつには J3DViewPlatform を使用します。 これは、ユーザ側の現実の世界(スクリーンからの距離、ウインドウのサイズ)と仮想の世界(ViewPlatformのスケールと位置)とをマッピングして定義します。 それぞれのUniverseで、多層 ViewPlatform が可能となります。それぞれ、J3DCamera の派生クラスを使用します。現状では、JXMesaCamera は、オプションとして利用できます。
JX3DWidget は,JXWidget の派生であり、Universeを表現するために J3DViewPlatformを所有します。
J3DPainter は,理想的に、J3D を 3D レンダリング・エンジンから独立するために,すべての機能を抽出します。すべてのJ3DObject は、Painter と交信します。現在は,JXMesaCamera は、J3DPainter から継承されますが、それほど多くの機能はありません。
匿名 ftp により JX を使うために必要とされる全ての情報を入手することができます。