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 の付いた Core2Duo に Windows 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
がないとエラーがでる。(詳細は未検証)
肝心のWindows版 GLUT 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ファイルのディレクトリを追加する。
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