I am Charmie

メモとログ

OpenGL for Visual Studio 2010

Visual Studio 2010 + OpenGLのセットアップ.

1. GLUTのインストール
GLUT(OpenGL Utility Toolkit)はOpenGLでプログラムを書くためのツールキット.
オリジナルのglutの開発は2001年ぐらいから進んでいなさそうなので,代わりにfreeglutをインストールする.
1.1. 自分でコンパイル
以下のサイトから,ソースやら何やらをdownload(freeglut-2.6.0.tar.gz)
http://freeglut.sourceforge.net/

基本的には,README.win32に書いてある通りに行えば問題ないはず.
ワークスペースfreeglut.dswには二つのプロジェクトfreeglut.dspとfreeglut_static.dspが含まれている(それぞれDLLとstatic libraryを作るためのプロジェクトファイル).
"バッチビルドすれば終わり"みたいに書いてあるが,VS2010だと両プロジェクトの変換に失敗するので,以下のディレクトリ内にあるslnファイルを使ってビルドする.
ディレクトリ名が示すように,VS2008用のslnファイルっぽいので,2010用にコンバートする必要がある(VS2010でslnファイルをオープンすれば勝手にコンバートしてくれるはず).
\VisualStudio2008\
\VisualStudio2008Static\

1.1.1. コンパイル
以下のディレクトリにあるfreeglut.slnを開き,Build->Batch Buildを選びバッチビルドする.
\VisualStudio2008\
\VisualStudio2008Static\
ビルドが終わると各libファイルが生成される.
dllファイル
\VisualStudio2008\Debug\freeglut.dll
\VisualStudio2008\Release\freeglut.dll
libファイル
\VisualStudio2008\Debug\freeglut.lib
\VisualStudio2008\Release\freeglut.lib
\VisualStudio2008Static\Debug\freeglut_static.lib
\VisualStudio2008Static\Release\freeglut_static.lib
※ DebugモードとReleaseモードで作成されるlibファイルの名前が同じだけど,freeglut自体をデバッグする事はなさそうなので,Releaseモードで作成したlibファイルのみを使用すれば問題なさそう.

1.1.2. hファイルのコピー
\include\GL\ディレクトリにある"freeglut.h", "freeglut_ext.h", "freeglut_std.h", "glut.h"を以下のディレクトリにコピー.
{VC Root}\include\GL\
また,同じディレクトリに"gl.h", "glaux.h", "glu.h"があると仮定.
Windows7だと.Net Framewoskをインストールする必要があり,インストールされている場合は以下のディレクトリ内に"gl.h"と"glu.h"がある.
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\gl
※ glaux.hは一昔前のGLのサポート用ライブラリみたいで,glut.hを使うなら必要なさそう?な雰囲気が漂っている.

1.1.3. libファイルのコピー
"freeglut.lib"か"freeglut_static.lib"を以下のディレクトリにコピー.
{VC Root}\lib\GL\
また,同じディレクトリに"opengl32.lib", "glu32.lib", and "glaux.lib"があると仮定.
※ 1.1.2.で"gl.h","glu.h"がSDKとしてインストールされているように,"opengl32.lib", "glu32.lib"も以下のディレクトリに保存されている.
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib

※ Releaseモードで作成したlibファイルのみを使用すればいいと1.1.2.では書いたけど,使い分けたい人は名前を適当に変更してくれと書いてあった.

1.1.4. dllファイルのコピー
DLLを使用する場合は,"freeglut.dll"をDLLが保存されているディレクトリにコピーする.一般的な32bitのWindowsだと
C:\Windows\System32
になるのかな?
このDLLが保存されているディレクトリには"opengl32.dll" と "glu32.dll"も保存されているはず.

1.2. とある人がコンパイルしていたファイルを使う
以下のサイトからファイルをdownloadすればおしまいっぽい.
http://www.transmissionzero.co.uk/software/freeglut-devel/

2. GLEWのインストール
GLEW(The OpenGL Extension Wrangler Library)はOpenGL拡張機能を利用するためのライブラリ?
GLSLを使うのに必要.

以下のサイトからバイナリをダウンロードして展開する.
http://glew.sourceforge.net/

dll,lib,hファイルをそれぞれコピー.
\bin\glew32.dll -> %SystemRoot\system32
\lib\glew32.lib -> {VC Root}\Lib
\include\GL\glew.h -> {VC Root}\Include\GL
\include\GL\wglew.h -> {VC Root}\Include\GL

実際にプログラムで使用する時は,glew.hをglut.hより前にincludeして,glew32.libを追加の依存ファイルとして登録すればいい.
#include
#include
#pragma comment(lib, "glew32.lib")


書いてて思ったけど,Visual Studio 2010だからといって別段気にする事は特にないかな.
glutを自分でビルドするなら別だけど,そうじゃないならダウンロードしたh,lib,dllファイルを適当なディレクトリにコピペするだけで終わる.