2010年12月22日水曜日

Visual C++ 2010でOpenGLを使う

1.必要なファイルをダウンロードする
freeglut 2.4.0
glut-3.7.6-bin.zip

2.ダウンロードしたファイルを適切なフォルダに配置していく
・freeglut.h ⇒ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL\"
・freeglut_ext.h ⇒ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL\"
・freeglut_std.h ⇒ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL\"
・freeglut.lib ⇒ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\"
・freeglut.dll ⇒ "C\Windows\system32\"
・glut32.dll ⇒ "C\Windows\system32\"
・glut32.dll ⇒ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib"
・glut.h ⇒ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL\"
必要に応じてフォルダを新規作成すること

3.VC++でテストプロジェクトを作成する
//ウインドウを開き、塗りつぶす

#include <GL/glut.h>

void display(void)
{
  glClear(GL_COLOR_BUFFER_BIT);
  glFlush();
}

void init(void)
{
  glClearColor(0.0, 0.0, 1.0, 1.0);
}

int main(int argc, char *argv[])
{
  glutInit(&argc, argv);
  glutInitDisplayMode(GLUT_RGBA);
  glutCreateWindow(argv[0]);
  glutDisplayFunc(display);
  init();
  glutMainLoop();
  return 0;
}


4.メニューバーから「プロジェクト」→「プロパティ」→「リンカ」→「入力」
「追加の依存ファイル」に以下を追記する
opengl32.lib;glu32.lib;glut32.lib


5.メニューバーから「ツール」→「設定」→「上級者用の設定」にチェックを入れる。
詳しくは、こちら

6.メニューバーから「表示」→「プロパティ マネージャ」→「プロパティ」をクリック
7.「構成プロパティ」→「VC++ディレクトリ」
「インクルード ディレクトリ」に以下を追記する
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL


8.適当なファイルをコンパイル・実行してみる


※2008の設定については、こちら(英語だが、容易)

※最新版のfreeglutを使いたい場合
(1)ここからfreeglutの最新版(2010/12/18現在では2.6.0)をダウンロードし,Lhaplusなどで解凍する
(2)解凍したフォルダ内のVisualStudio2008のフォルダ内のfreeglu.slnをVC2010で開く
(3)「変換ウィザード」が立ち上がるが,「次へ」,「完了」,「閉じる」などを順次選択していく
(4)メニューバーから「ビルド」→「構成マネージャ」をクリック
(5)「アクティブソリューション構成」を「Release」にし,32bit版ならそのまま「閉じる」を選択.64bit版については,ここを参照(やったことないから詳細は不明)※Releaseにする必然性はないらしい.
(6)ソリューションエクスプローラにあるfreeglutを右クリックし,「ビルド」を選択
(7)「...\freeglut-2.6.0\VisualStudio2008\Release」の中にfreeglut.dllとfreeglut.libがあるので,それを前述のフォルダに移動させる.
(8)「...\freeglut-2.6.0\include\GL」の中にあるヘッダーファイルを前述のフォルダに移動させる
(9)残りは前述のとおり

※もしかしたら、これでやった場合には、プロパティ云々は不要になるのかも??




0 件のコメント:

コメントを投稿