OpenGLの勉強中

物理モデルを可視化するために、
3D(2D)グラフィックスのプログラムインターフェースである
OpenGLを勉強中。DirectXの対抗馬でもある。
多少枯れたGPUでも問題なく利用でき、
Windows Aero や Beryl が動いてる環境であれば快適に利用できる。
マルチプラットフォームなのでCやC++に組み込めば、
Linux でも Windows でも(テスト環境がないがMacでも可)実行可能。


環境設定【 Linux 編 】
Radeon の付いた opteron に Fedora7 を入れて試した。
コンパイラgccとg++を利用。
以下のOpenGL の公式サイトからGLUT(GLUT - The OpenGL Utility Toolkit)の
ソースをダウンロード。

(ドキュメント類もチェックしたい)
http://www.opengl.org/resources/libraries/glut/
(手っ取り早くソースファイル直リン)
http://www.opengl.org/resources/libraries/glut/glut-3.7.tar.gz

ダウンロード後

user $ cd ~/Download/glut-3.7.tar.gz
user $ tar -xvf glut-3.7.tar.gz
user $ cd glut-3.7
user $
user $ xmkmf
user $ make Makefiles
user $ make includes
user $ make depend
user $ cd lib/glut
user $ make

ひょっとするとxgl関連の依存エラーがでるかもしれない。
(うちの環境では先に beryl が動作していた。
beryl を終了していないと、作成したプログラムの実行時にエラーがでる。)
例えばtest.cというソースをコンパイルする時、gccにオプションを付けて

$ gcc -lglut -lGLU -lGL test.c

とすればオーケーです。
a.outファイルを実行すれば自作 OpenGL プログラムが起動します。



環境設定【 Windows Vista 編 】
Geforce の付いた Core2DuoWindows Vista Home Premium を入れて試した。
コンパイラMicrosoft Visual C++ 2005 Express Edition。


ビルドに必要なファイルは

Microsoft Platform SDK
マイクロソフトのダウンロードセンターから
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en#filelist

Microsoft Platform SDKインストーラーが付いているので、
ダウンロードしたファイルを実行するだけ。
これが入っていないと
glut.h-->gl.h or glu.h --> winmm.lib
がないとエラーがでる。(詳細は未検証)


肝心のWindowsGLUT glut-3.7.6-bin.zip (117 KB) 「軽い方」を
下記のサイトからダウンロード


Nate Robins - OpenGL - GLUT for Win32
http://www.xmission.com/~nate/glut.html

ダウンロードしたら圧縮ファイル glut-3.7.6-bin.zip を解凍。
解凍されたフォルダ内のファイルを指定の場所にコピー

glut.def -->不要

glut.h -->C:\Program Files\Microsoft Visual Studio 8\VC\include\GL\glut.h
へコピーGLフォルダがなければ作る。
(上記はデフォルトでMicrosoft Visual C++ 2005 Express Editionを
インストールした場合)

glut32.dll -->C:\Windows\System32\glut32.dll
(上記はデフォルトでMicrosoft Visual C++ 2005 Express Editionを
インストールした場合)

glut32.lib -->C:\Program Files\Microsoft Visual Studio 8\VC\lib\glut32.lib
(上記はデフォルトでMicrosoft Visual C++ 2005 Express Editionを
インストールした場合)

README-win32.txt -->不要。一読されたし。

Microsoft Visual C++ 2005 Express Edition
を起動させてincludeファイル, libファイルのディレクトリを追加する。

ツール>オプションプロジェクトおよびソリューション>VC++ディレクト

Platform SDK インストール直後のPSDKの所在が Visual C++ 2005 の
インストールディレクトリ以下に相対パスで設定されていて、
このままではエラーが出るので

ディレクトリを表示>インクルード ファイルの
$(VCInstallDir)\Microsoft Platform SDK\Include

C:\Program Files\Microsoft Platform SDK\Include
フルパスに変更。

同様に

ディレクトリを表示>ライブラリ ファイルの相対パス
$(VCInstallDir)\Microsoft Platform SDK\Lib
絶対パス
C:\Program Files\Microsoft Platform SDK\Lib
に変更。


これで通常のC/C++プログラムと同様に、
プロジェクトを作成、ソースファイルを追加すれば、
ヘッダーファイル GL/glut.h が利用できるようになる。
コンパイル、ビルドで実行できます。





【 参考URL 】
床井浩平, GLUTによる「手抜き」OpenGL入門,
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html

Microsoft, Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う,
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en