Java 3D 1.5.0のセットアップ
環境を汚すのも何なのでJava 3Dのバイナリzipを適当な場所に展開するだけにして、コンパイルや実行時にコマンドラインオプションでjarや共有ファイルを指定する方法を選択。使用時だけクラスパス等を設定する手もあるけど。
- Java 3D プロジェクトページからたどってzipアーカイブの方のバイナリをダウンロードする。ついでにサンプルソース(j3d-examples-1_5_0-src.zip)も。
- 二つのzipを適当な場所に展開する。
- おわり。
コンパイルは、
javac -cp ".;Z:\hoge\moge\j3d-jre\lib\ext\j3dcore.jar;Z:\hoge\moge\j3d-jre\lib\ext\j3dutils.jar;Z:\hoge\moge\j3d-jre\lib\ext\vecmath.jar" Foo.java javac -cp ".:/hoge/moge/j3d-jre/lib/ext/j3dcore.jar:/hoge/moge/j3d-jre/lib/ext/j3dutils.jar:/hoge/moge/j3d-jre/lib/ext/vecmath.jar" Foo.java
みたいな感じでlib/extにある3つのjarファイルにクラスパスを通す。
実行は、
java -cp "Java 3Dの3つのjarファイルを含むパス" -Djava.library.path="Java 3Dの共有ファイルが置かれたディレクトリパス" Foo
みたいな感じでjarにクラスパスを通し、共有ファイルが置かれているディレクトリをjava.library.pathに指定する。
試しに、サンプルソースのj3d-examples-1_5_0-src/j3d-examples/src/classes/org/jdesktop/j3d/examples/hello_universe/HelloUniverse.javaをコンパイル、実行してみる。
……動いた。でもCPUパワー使い過ぎです。ビデオカードの3D性能が低いからかも。HelloUniverse#createUniverse()内の
univ.getViewer().getView().setMinimumFrameCycleTime(5);
の5を50に、つまりフレーム周期を200Hzから20Hzにしても少々カクカクするけど、それなりに動く。CPUの使用率も格段に下がった。