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
を実装する
全体のソースは: