« OpenFOAMで並列計算を実行する | メイン | PostgreSQLをWindowsにインストール »

JOGLをつかってJavaでOpenGL

  はてなブックマークに追加 このエントリを livedoor クリップへ追加

ある周期でやってくる「3Dコンピュータグラフィックスやってみたいな病」がひょうんなことから再発(w。
理由は、JOGLのバージョン1.0.0がリリースされたためです。いつ正式リリースされたのでしょうか?

待ち続けているときにはなかなかリリースされず、忘れたことにリリースされているとは、なんとも肩透かしを食らったような気分です(w。

JOGLはJavaからネイティブのOpenGL APIを利用するためのライブラリです。


joglを利用するためには、JOGLのサイトから入手したライブラリをコピーするだけです。早速、導入開始です。

<JOGLをインストール>
JOGLのサイトの右中段にあるDOWNLOADSの項目からCurrent rerease buildをクリックします。開いたページで、OSとCPUを確認して利用するファイルを決めてください。


私の場合は、OSが「WINDOWS XP」、CPUが「X86」なので、次のファイルを入手しました。
jogl-1_0_0-windows-i586.zip


次に、ダウンロードしたファイルを展開します。展開するとlibというディレクトリが作られて、その中に、次の4つのファイルがあると思います。
jogl.jar
jogl.dll
jogl_awt.dll
jogl_cg.dll


これらのファイルをJAVA_HOME/jre/lib/extにコピーしてください。
(注)JAVA_HOMEは、JDKをインストールしたディレクトリです。

以上でインストール完了です。簡単ですね。


<インストールの確認>
インストールがきちんとできているか確認するために、JOGLのデモを実行してみましょう。
先ほどJOGLをダウンロードしたページから次のファイルを入手します。
jogl-demos.zip

展開するとlibのディレクトリが作られその中に、次の3つのファイルがあることを確認してください。
jogl-demos.jar
jogl-demos-data.jar
jogl-demos-util.jar


次に、コマンドプロンプトを起動して、jogl-demos.zip展開してできたlibのディレクトリに移って次のコマンドを実行してください。
java -classpath jogl-demos.jar demos.gears.Gears

このとき、赤、青、緑の3つのギアがかみ合って回っているデモがきちんと起動すれば、インストールは成功です。


<(補足)エラーに対処>
残念ならがら、私の場合は一回ですんなりインストールとはいきませんでした(TT)。
コマンドを実行したところ、次のようなエラーが表示されました。

Exception in thread "main" java.lang.NoClassDefFoundError: javax/media/opengl/GL
EventListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)


いろいろ調べた結果、java(コマンド)がJDKのjavaではなく、JRE(Java Runtime Environment)のjavaを先に見つけているためだと言う結論にいたりました。対策はとしては、以下のものが考えられます。
(1)JREを全消しする
(2)JREの方にあるlib/extにJOGLのファイルをコピーする

私は(1)の方法を選択しました。ちょっと力ずくでしたが・・・
この他に、JDKのjavaを優先的に利用できる方法をご存知の方、ぜひお教えください<(__)>。


JOGLをつかって簡単なコードを、早速書いてみました。その様子はまた別の機会にでも。
Rubyの輝きに魅了される」で紹介したRubyにつづき、これまたおもしろいものを手に入れたという感じです。

Ads BOARD








最近のエントリーとその関連エントリー

トラックバック

このエントリーのトラックバックURL:
http://kazuhiro.ty.land.to/blog/mt-tb.cgi/78

  Map