開発元 | JogAmp Community |
---|---|
最新版 |
2.3.2
/ 2015年10月10日 |
最新評価版 |
2.3.2
/ 2015年10月10日 |
プログラミング 言語 | Java, C言語 |
対応OS | Solaris, Linux, Microsoft Windows, macOS, Android |
プラットフォーム | Javaプラットフォーム |
種別 | ライブラリ |
ライセンス | BSDライセンス |
公式サイト |
jogamp |
Java OpenGL (JOGL) はJavaプラットフォーム上でOpenGLを使った3DCGソフトウェアを作成するための、オープンソースライブラリである。
JOGLではC言語で使えるOpenGLのほぼ全ての機能をJNIによりJavaで直接使えるようにしている。JNIのソースコードは同開発元のライブラリGlueGenによって自動的に生成されていて、C言語と大差ない感覚で使えるが、Java 3DなどのJavaライブラリほどローレベルなAPIを隠さず、オブジェクト指向に沿った構造ではない。そのため、低オーバヘッドによる高速な実行が期待できるほか、C言語のコードをほぼそのままJavaへ移行できるが、代わりにソースコードは単調で長くなる傾向にある。 JOGLにはOpenGLのAPIの他に、既存のGUIライブラリ (AWT/Swing/SWT) でOpenGLによってレンダーされた画像を表示させるためのクラスや、単体でOpenGLウインドウを表示するためのクラス (NEWT) なども含まれている。
元々はJSR-231のリファレンス実装としてKenneth Bradley RussellとChristopher John Kline、そしてのちにサン・マイクロシステムズによって開発された。だがOpenGLのバージョンアップに伴うAPIの変化に、OpenGL 1.xのみに対応しているJSR-231とオラクルのJDKのバイナリコードライセンスによって規格以上の機能は足せない都合上、JOGL 2.0よりほぼ同一ながら標準規格に沿わない独自のAPIを有している。またその関係でパッケージの名前空間もバージョン2.3.0よりjavax.media.opengl
から完全に移行している。