第1回 Java 3D勉強会


私が伝えたいこと

●プログラミングは楽しい

●3Dプログラミングはとても楽しい

●Java 3Dで楽しんでください


5W1H

なぜ?

●Javaの3D APIを統一したかったから? (Write once)

●3Dの分野もJavaでカバーしたかった? (Sun の野望?)

いつ?

●1996年のJavaOneでJava Media APIの発表があり、その中にJava 2D/3Dがあった

●1998年11月、Java 2 (JDK 1.2) リリースとほぼ同時にJava 3D 1.1が正式リリースされた

どこで?だれが?

●当初SunのほかにApple, SGI(シリコングラフィックス)の名前もあったが、その後Sunが主体に

何?

●Java 3D = Javaの標準的な3次元グラフィックスAPI

どのように?

●幾何学計算はJava側で行い、JNIを使ってOpenGL/DirectXが描画する


Java 3Dとは?

●Java Media APIのひとつ

●Java の標準拡張API

●Write once, VIEW anywhere

●ランタイムAPIである (ファイルシステムを持たない)

●シーン・グラフをベースにした3D API

●アプレットとして実行できる (ネットワーク・ローダブル)

ユニークな特徴

●バーチャル・リアリティーのための豊富なAPIを持つ

●3D Sound APIを持つ


Java 3Dのメリット

●Write onceである (ただしまだSolaris, Win32, Linuxのみ)

●開発期間の短縮

●アプレットとして実行できる

●コスト (ランタイムフリーである)


Java 3Dのデメリット

●パフォーマンス (ex. GC のときにアニメーションがスムーズでない)

●メモリー消費が大

http://www.tornadolabs.com/News/BenchJ3d_Results/benchj3d_results.html


Java 3Dが動く環境

●Java 2 (JDK 1.2.x)以上

●SPARC Solaris

●Intel x86 - Win32, Linux

●OpenGL 1.1 または DirectX 6.1 または Mesa 3.x


Java 3Dで描画できるもの

●点

●線分

●ポリゴン (三角形、四角形)

●テクスチャー (2D, 3D)

●文字 (2D, 3D)


Java 3Dで描画できないもの

●曲線、曲面 (ベジェ、NURBSなどはない)


Java 3Dのクラス・パッケージ

● javax.media.j3d パッケージ

● javax.vecmath パッケージ

● com.sun.j3d.utils パッケージ


JDK 1.1.x ではどうしたら良いのか?

jFree-D

OpenGL Java binding - Magician, GL4Java, jogl, JSparrowなど

Open Inventor Java (3D Master-Suite)

QuickDraw3D Java binding

じゅん


これからのJava 3D

●Java 3D 1.2 α仕様公開 - オフスクリーン・レンダリングなど強化

VR分野の応用が増えることを期待

●ソースコードの公開に期待


情報源

Java 3D API Top (Sun)

Graphics@Sun

Java 3D FAQ (Sun)

Java 3D FAQ (NCSA)

Java 3D FAQ J

Java 3D Tutorial (Sun)

Java3DTips (日本語)

Java3D自分FAQ (日本語)

たのしいJava 3D (自前^^;)

Java 3D Interest Group ML (Sun)

Java3Djpメーリングリスト (日本語)

Java 3D API仕様 (書籍)

はじめてのJava 3D (書籍)


ご質問は...

えんどう やすゆき mailto:yasuyuki@javaopen.org または

Java3Djpメーリングリスト http://www.ipc-tokai.or.jp/~atusi/java3d/ml/index.html まで。


BACK...