講義テキスト
TechNotes
リンク集

パンフレット



Powered by Google.

サイトマップ


TechNotesOpenGL on SWT (1) 環境の構築


OpenGL on SWT


Java で OpenGL を利用する

現在、Java で OpenGL を利用することはそれほど珍しくないことです。特に、OpenGL がいろいろな OS に対応しているため、Java とも相性が良いのです。

ここでは Java の GUI ライブラリである SWT (Standard Widget Toolkit) を用いて、グラフィックライブラリである OpenGL を扱う方法を説明していきます。

KN Model Viewer (Linux での実行例) KN Virtual Walk Viewer (Windows での実行例)

ところで、標準の SWT のライブラリには OpenGL を操作できる機能が含まれていません。拡張ライブラリという形で提供されているのです。そのため、標準のものに加えてこれをインストールする必要があります。

本稿では、このライブラリを SWT OpenGL と呼ぶことにします。SWT OpenGL は、現状では Windows および Linux (motif) に対応しております。

ところで、Java3D をご存知の方がおられるでしょうか。こちらも OpenGL を扱うことができます。しかし、残念ながら Java3D は SWT に対応しておりません。そんなわけで、本稿は Java3D にあきらめた SWTer にとっても、嬉しい内容となっています。


環境の構築

はじめに、SWT がインストールされていることを確認してください。まだインストールされていない場合は、SWT の環境設定とテストを参照してください。

次に、OpenGL がインストールされていることを確認してください。Windows をお使いの場合は、OS に OpenGL が含まれていますので通常はインストールする必要はありません。GLUT ライブラリも必要ありません。

Linux の場合は OS に含まれていないことが多いので、必要に応じてインストールします。OpenGL は Mesa というパッケージで提供されています。

Mesa Home Page
 http://www.mesa3d.org/

ここまで確認できましたら、SWT OpenGL をインストールしましょう。まず、ダウンロードを以下のサイトから行います。

SWT Experimental OpenGL Plug-in
 http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-swt-home/opengl/opengl.html

[SWT OpenGL] より、OS に応じて、swt-opengl-2.*-*.zip をダウンロードし、 必要に応じて、[SWT OpenGL Examples] から、swt-opengl-examples-2.*.zip をダウンロードしてください。

ダウンロードした圧縮ファイルを展開してください。ファイルの構成を、Windows と Linux (motif) の場合について説明します。なお、インストール先となる拡張ディレクトリについては、Java の拡張ディレクトリを参照してください。

Windows

JAR ファイル

  • ws\win32 にある opengl.jar

ネイティブライブラリ

  • os\win32\x86 にある gl-win32.dll

JAR ファイルとネイティブライブラリ (DLL) を、拡張ディレクトリにコピーすれば完了です。

Linux (motif)

JAR ファイル

  • ws/motif にある opengl.jar

ネイティブライブラリ

  • os/linux/x86 にある libgl-motif.so

JAR ファイルとネイティブライブラリを、拡張ディレクトリにコピーすれば完了です。


提供サンプルの実行

動作確認のために、提供されているサンプルを実行してみましょう。ソースコードも添付されていますので、後々の学習に利用してください。

ダウンロードしたサンプルの圧縮ファイルを展開してください。その中にある openglexamples.jar が実行するファイルです。このファイルに対して、以下のコマンドを実行してください。

> java -cp openglexamples.jar org.eclipse.swt.opengl.examples.OpenGLExample


実行例 (Windows) です。

画面の上にあるタブを切り替えて、Java でも OpenGL の機能を十分に利用できることを確認してください。

なお、OpenGL 対応のグラフィックボードが搭載されていないと、ステンシルバッファのサンプルはご覧になれませんので注意してください。


今回は、SWT OpenGL による、Java で OpenGL を利用する方法を簡単に紹介しました。Java3D だけが OpenGL を利用できると思われていた方には、意外な内容であったかもしれません。

次回は、(2) 図形の描画です。


TechNotes Author:  Ritsu Shikata


ページの上部へ


Copyright (C) 2003, 2004 Noborio Lab. and Osaka Electro-Communication Univ.
All Rights Reserved.