Mac/JavaでOpenGL (jogl)

2012-07-31

Macで、EclipseのJavaでOpenGLを使う方法を調べた。

joglのダウンロード

joglのページのBuilds / DownloadsからCurrentやArchiveを見てもどれをダウンロードしていいのかわからない。なので “jogl macosx zip” でググって出てきたページhttp://download.java.net/media/jogl/builds/archive/jsr-231-1.1.1a/ から jogl-1.1.1a-macosx-universal.zip がダウンロードできた。zipを展開してどこか好きな場所に置く。

EclipseでJavaのプロジェクトを作成

これは普通に File > New > Java Project で作る。

joglのjarをプロジェクトに追加

プロジェクトを選択して、メニューから Project > Properties > Java Build Path > Libraries > Add External JARs… で、上で展開してできた2つのjarファイル、jogl.jarとgluegen-rt.jarを追加する。

それぞれのjarファイルの設定で、 Native library location というのがあるので、ダブルクリックしてそのjarファイルが置いてあるディレクトリを指定する。これによってダイナミックライブラリがちゃんと読み込まれるようになる。これを指定しないと、実行した時に

Exception in thread "main" java.lang.UnsatisfiedLinkError: no jogl in java.library.path

というエラーが出る(eclipseでのjogl利用について | OKWave

サンプルプログラム

適当にググって出てきたページJOGL Tutorial 3 - Creating a Render Loop - Justin’s Homeを参考にした。このページではjogl-2.0を使ってるらしく、少し変更が必要:

  • import javax.media.opengl.awt.GLCanvas; を削除
  • import com.jogamp.opengl.util.*; を削除
  • import com.sun.opengl.util.Animator; を追加
  • import com.sun.opengl.util.FPSAnimator; を追加
  • GLProfile glp = GLProfile.getDefault(); を削除
  • new GLCapabilities() の引数 glp を削除
  • dispose メソッドを削除
  • GLからgetGL2()をしているところを、GLのまま使う
  • displayChanged を実装する

全体のソースは: