| 開発者 | Sun Microsystemsと JogAmp コミュニティ |
|---|---|
| 安定版リリース | 1.7.0
/ 2020年1月25日 |
| プレビューリリース | - / - |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | 3D コンピュータ グラフィックス ソフトウェア(ライブラリ/API) |
| ライセンス | GPL バージョン 2 + GPL リンク例外 |
| Webサイト | JogAmp の Java3D 継続フォーラム |

Java 3Dは、Java プラットフォーム用のシーン グラフベースの3D アプリケーション プログラミング インターフェイス(API)です。バージョン 1.6.0 まではOpenGLまたはDirect3D上で実行され、バージョン 1.6.0 以降はJava OpenGL (JOGL)上で実行されます。バージョン 1.2 以降、Java 3D はJava Community Processの下で開発されています。Java 3D シーン グラフは、有向非巡回グラフ(DAG)です。
他のソリューションと比較すると、Java 3D はこれらのグラフィックス API のラッパーであるだけでなく、真のオブジェクト指向アプローチを使用してグラフィックス プログラミングをカプセル化するインターフェイスでもあります。ここでは、表示する必要があるオブジェクトを表すシーン グラフを使用してシーンが構築されます。このシーン グラフは、オブジェクトの表示に必要ないくつかの要素を含むツリーとして構造化されています。さらに、Java 3D は、広範囲にわたる空間化されたサウンドのサポートを提供します。
Java 3D とそのドキュメントは、別途ダウンロードできます。これらは、Java 開発キット(JDK) の一部ではありません。
歴史
Intel、Silicon Graphics、Apple、およびSun は、いずれも1996 年にリテイン モード シーン グラフAPI を開発中でした。これらの企業はいずれも Java バージョンの作成を望んでいたため、共同で作成することにしました。このプロジェクトが Java 3D になりました。開発は 1997 年にはすでに開始されていました。パブリック ベータ バージョンは 1998 年 3 月にリリースされました。最初のバージョンは 1998 年 12 月にリリースされました。2003 年半ばから 2004 年夏にかけて、Java 3D の開発は中止されました。2004 年夏に、Java 3D はコミュニティ ソース プロジェクトとしてリリースされ、それ以来Sunとボランティアによって開発が続けられています。
2008 年 1 月 29 日、 JavaFX用の 3D シーン グラフを作成するために Java 3D の改良が保留されることが発表されました[1] 。3Dをサポートする JavaFX は最終的に Java 8 でリリースされました[2]。JavaFX 3D グラフィックス機能は、多かれ少なかれ Java 3D に取って代わるようになりました。
2008年2月28日以降、Java 3Dのソースコード全体はGPLリンク例外付きのGPLバージョン2ライセンスの下で公開されています。[3]
2012年2月10日以降、Java 3DはハードウェアアクセラレーションによるOpenGLレンダリングにJOGL 2.0を使用しています。この移植はJulien Gouesseによって開始されました。 [4]
特徴

- マルチスレッドシーングラフ構造
- クロスプラットフォーム
- 視覚化とゲームの両方に使用できる汎用リアルタイムAPI
- 保持、コンパイル保持、即時モードのレンダリングのサポート
- ハードウェア アクセラレーションJOGL、OpenGL、Direct3Dレンダラーが含まれています (プラットフォームによって異なります)
- 立体的なレンダリングと複雑なマルチディスプレイ構成をサポートする、洗練されたバーチャルリアリティベースのビューモデル
- ヘッドマウントディスプレイのネイティブサポート
- CAVE(マルチスクリーンプロジェクター)
- 3D空間サウンド
- GLSLとCGの両方をサポートするプログラム可能なシェーダー
- ステンシル バッファ
- 3DS、OBJ、VRML、X3D、NWN、FLTなど、ほとんどの主流フォーマットのインポーター
競合する技術
Java 3D は、Java で 3D をレンダリングするための唯一の高レベル API オプションではありません。2003 年と 2004 年の開発の中断により、競合するいくつかの Java シーン グラフ テクノロジが登場しました。
汎用:
ゲーム:
- jMonkeyエンジン
- エスプレッソ3D
視覚化:
- 現実
これらに加えて、他の多くの C または C++ シーングラフ API は、JNIを通じて Java サポートを提供します。
より低いレベルでは、 Java 用のJOGL (JSR 231) OpenGL バインディングは、Java 3D などのシーン グラフ API の一般的な代替手段です。LWJGLもそのようなバインディングの 1 つです。
参照
- Project Looking Glass (Java 3D を使用した実験的な 3D デスクトップ)
- Open Wonderland (Java 3D と Project Darkstar を使用した仮想ワークスペース環境)
参考文献
- ^ 「ANNOUNCEMENT: Java 3D 計画」Sun Microsystems 2008-01-29。2012-03-10 時点のオリジナルよりアーカイブ。2011-05-11に取得。
- ^ 「JDK 8 の新機能」。Oracle Corporation . 2014-03-18。
- ^ 「ANNOUNCE: GPL オープンソースリリース」Sun Microsystems 2008-02-28。2008-03-24 時点のオリジナルよりアーカイブ。2008-02-29に閲覧。
- ^ 「Java3D が JOGL 2.0 で動作するようになりました」。Julien Gouesse。2012 年 10 月 2 日。2012年 10 月 2 日閲覧。
外部リンク
- Harvey が SIGGRAPH 2013 で Java3D の現状「I'm not Dead!」を発表
- Java 3D の再出発 (Java 3D が戻ってきました): Java3D プレビュー セットアップの概要
- 現在のリリース (Java 3D 1.7)
- 以前の公式サイトとリリース
- JSR 926 (Java 3D 1.5)、JSR 912 (Java 3D 1.3)
- 現在のフォーラム (Java 3D 1.6)
- Java 3D の以前のフォーラムと Wiki - コラボレーションの場。書籍とユーザーのリスト、FAQ、ナレッジ ベースが含まれています。
- java3d.org。チュートリアル、例、情報
- OpenGL.J3D Java 3D チュートリアル
- 初心者のためのSiggraphからの講義
- ゲームプログラミング [1] 2013-03-09にWayback Machineでアーカイブ、[2] 2013-06-09にWayback MachineでアーカイブされたJava 3D(各章はpdfファイルとソースコードとして保存)
- SourceForge がホストする Eclipse 用プラグイン
- Java 3D を使用した視覚化アプレットの例
- EMAP、e-Mouse Atlas プロジェクト - Guangjie Feng が作成した 2D セクションが埋め込まれた 3D 解剖構造エクスプローラー
