【コラム】
JSR 231: Java Binding for the OpenGL API(JOGL)は、3Dグラフィックライブラリ「OpenGL」を、Javaプログラムから扱えるようにするためのAPIである。その名の通り、OpenGLの各種グラフィック描画機能に関連付けられたJavaのクラス/インタフェースやメソッドを定義している。現在の最新版は昨年4月にメンテナンス仕様としてリリースされたバージョン1.1であり、これはOpenGLのバージョン2.1に対応している。また3月25日より次期メンテナンス仕様(バージョン1.1.1)のドラフトが公開され、4月28日にかけてレビューが行われている。
JOGLにはjavax.media.openglとjavax.media.opengl.gluという2つのパッケージが用意されている。前者にはOpenGLのコア機能を利用するためのクラス/インタフェースが、後者には OpenGL Graphics System Utility(GLU)を利用するためのクラス/インタフェースが含まれている。
JOGLにおけるOpenGLのAPIとJavaのAPIとのマッピング規則は比較的シンプルなので、OpenGLを使ったことのあるユーザならばJOGLも容易に使いこなすことができるだろう。具体的なマッピング規則としては以下のようなものがある。
OpenGL APIで提供される主な関数は、JOGLではjavax.media.opengl.GLインタフェースに定義されている。APIドキュメントの各メソッドの項目には対応するOpenGL APIの関数が記載されているのでそちらを参照してほしい。
JOGLの実装はjava.netのJOGLプロジェクトによって開発が進められている。プロジェクトサイトではAPI実装の他にデモプログラムなどが公開されている。対応プラットフォームはWindows(x86)、Linux(x86, AMD64)、Solaris(x86/AMD64/SPARC/SPARC-V9)、MacOS(x86/PPC)となっており、各プラットフォーム別にバイナリファイルが用意されている。その他、Web Start版も用意されている。
配布ファイルはドキュメント&ファイルセクションから各バージョンのものがダウンロードできる。正式版である1.1.0の配布ページはここ、1.1.1 RC版の(現時点で最新の)配布ページはこことなっている。また、ここからは1.1.1のナイトリービルドがダウンロードできる。本稿では1.1.1 RC8のWindows版を利用することにする。
まず、バイナリファイル(jogl-1.1.1-rc8-windows-i586.zip)をダウンロードしてインスト-ルしたい場所に展開する。libフォルダ以下に必要なJARファイルとDLLファイルが配置されている。
JOGLを使用するには、まず環境変数CLASSPATHにjogl.jarとgluegen-rt.jarの2つを追加する。また、Windowsの場合は環境変数PATHにlibフォルダへのパスを追加しておく。LinuxまたはSolarisの場合は、PATHの代わりにLD_LIBRARY_PATHにlibディレクトリへのパスを追加する。また、MacOS Xの場合にはDYLD_LIBRARY_PATHに追加する。これでインスト-ルは完了だ。
なおこれらのファイルをJREおよびJDKインスト-ルフォルダ以下に直接コピーして利用するのは推奨されていないので、必ず環境変数を設定して利用すること。
インスト-ルが完了したら、試しにデモプログラムを実行してみよう。JOGLのサイトからデモプログラムがまとめられたjogl-demos.zipをダウンロードして、任意の場所に展開する。中に含まれているjogl-demos.jarがデモプログラムの本体で、JOGLを利用したさまざまなデモが用意されている。
このファイルをクラスパスに含めてプロンプト1のように実行してみよう。Gearsは歯車の回転する絵を描画するデモで、JOGLのインスト-ルに成功していれば図1のように表示されるはずだ。
> java -cp "%CLASSPATH%;jogl-demos.jar" demos.gears.Gears
|
|
図1 Gearsの実行結果 |
デモの中には追加ユーティリティが必要なものもある。その場合はプロンプト2のようにjogl-demos-util.jarファイルもクラスパスに含めればよい。TextCubeは文字つきの回転する立方体を描画するデモである (図2)。
> java -cp "%CLASSPATH%;jogl-demos.jar;jogl-demos-util.jar" demos.j2d.TextCube
|
|
図2 TextCubeの実行結果 |
次回は、JOGLを使った簡単なプログラムを作成してみようと思う。
提供:マイナビ
大学・大学院・短大・専門学生向けの就職情報サイト「マイナビ2010」「マイナビ2009」に今すぐ登録しよう! 大手企業からベンチャー企業までの約13,000社の企業情報を公開、エントリーが可能です。2010年卒予定の方は「マイナビ2010」に、2009年卒予定の方は「マイナビ2009」に登録してください。
毎日コミュニケーションズはプライバシーマークを取得しています。
| JSR 231: Java Binding for the OpenGL API |
| JOGL API Project |
| OpenGL - The Industry's Foundation for High Performance Graphics |
| OpenGL & OpenGL Utility Specifications |
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
【レポート】「appliko」がオススメAndroidアプリを紹介!! - 1月31日~2月8日のAndroidアプリランキング [01:30 2/11] 携帯 |
|
【レポート】人気の無料/有料アプリを毎週紹介 - 1月31日~2月8日のAndroidアプリランキング [01:00 2/11] 携帯 |
|
渡部篤郎主演でドラマ化!地元新聞社が伝え続けた東日本大震災の物語 [00:08 2/11] キャリア |
|
沖縄発ヒーロー革命!「琉神マブヤー」が海を越えハワイを目指す! [00:08 2/11] キャリア |
|
中国四川省、パンダの保護と生態研究の最新情報とは? [00:08 2/11] キャリア |