WindowsでVisual Studio 2013を使ってGLFW+GLEWプログラムを作る手順
プロジェクトの作成
Visual Studio 2013を起動して、新しいプロジェクトを作成します。
テンプレートからVisual C++の「Win32 コンソール アプリケーション」を選びます。
アプリケーションの設定で「コンソールアプリケーション」を選んで 「空のプロジェクト」にチェックを入れます。
プロジェクトの設定 (Debugビルド)
ソリューションエクスプローラから作成したプロジェクトを右クリックして、 プロパティを選びます。
構成プロパティの「C/C++」の「全般」の「追加のインクルード ディレクトリ」を 編集して、
$(SolutionDir)include
と入力します。
構成プロパティの「C/C++」の「プリプロセッサ」の「プリプロセッサの定義」を 編集して、
GLEW_STATIC
を追加します。
構成プロパティの「リンカー」の「全般」の「追加のライブラリ ディレクトリ」を 編集して、
$(SolutionDir)lib
と入力します。
構成プロパティの「リンカー」の「入力」の「追加の依存ファイル」を 編集して、
opengl32.lib glew32s.lib glfw3.lib
と入力します。
プロジェクトの設定 (Releaseビルド)
まず、Debugビルドの時と同様の設定を行います。
Releaseビルドの時は、コンソールウインドウを表示しないように設定したいと思います。
構成プロパティの「リンカー」の「システム」の「サブシステム」を 「Windows」に設定します。
構成プロパティの「リンカー」の「詳細設定」の「エントリポイント」を
mainCRTStartup
に設定します。
ソリューションディレクトリにGLFWとGLEWの関連ファイルを配置
ソリューションディレクトリにincludeフォルダとlibフォルダを作成します。
GLFWのダウンロードページから 「32-bit Windows binaries」をダウンロードします。 たとえ、64bitのOSを使っていてもこの記事の手順で行う場合は、 32bitバイナリをダウンロードします。
ダウンロードしたzipファイルを解凍して、includeフォルダにある GLFWフォルダをソリューションのincludeフォルダにコピーします。
lib-vc2013にあるglfw3.lib
をソリューションのlibフォルダにコピーします。
GLEWのページから 「Binaries: Windows 32-bit and 64-bit」をダウンロードします。
ダウンロードしたzipファイルを解凍して、includeフォルダにある GLフォルダをソリューションのincludeフォルダにコピーします。
libフォルダのReleaseフォルダのWin32の中にあるglew32s.lib
を
ソリューションのlibフォルダにコピーします。
ソリューションのincludeフォルダは以下のようになります。
ソリューションのlibフォルダは以下のようになります。
ソースファイルの追加
ソリューションエクスプローラからプロジェクトのソースファイルフィルタを
右クリックして、Main.cpp
を追加します。
以下のように入力します。
#include <GLFW/glfw3.h> int main() { GLFWwindow *window; if (!glfwInit()) { return -1; } window = glfwCreateWindow(640, 480, "OpenGL Test", NULL, NULL); if (!window) { glfwTerminate(); return -1; } glfwMakeContextCurrent(window); while (!glfwWindowShouldClose(window)) { glfwSwapBuffers(window); glfwPollEvents(); } glfwTerminate(); return 0; }
ビルド
ソリューションをDebugビルドして実行すると コンソールウインドウと以下のウインドウが表示されます。
ソリューションをReleaseビルドすると、コンソールウインドウは表示されません。
http://opengl-tutorial.org をやってみた (その13)
opengl-tutorial.org というサイトを参考にOpenGLを勉強しています。
はちゅねミクの表示
プログラム
頂点シェーダ
フラグメントシェーダ
コンパイル&実行
$ g++ `pkg-config --cflags glfw3 glew` -o prog13 prog13.cpp `pkg-config --static --libs glfw3 glew` $ ./prog13
実行結果
http://opengl-tutorial.org をやってみた (その12)
opengl-tutorial.org というサイトを参考にOpenGLを勉強しています。
シェーディング
プログラム
頂点シェーダ
フラグメントシェーダ
コンパイル&実行
$ g++ `pkg-config --cflags glfw3 glew` -o prog12 prog12.cpp `pkg-config --static --libs glfw3 glew` $ ./prog12
実行結果
http://opengl-tutorial.org をやってみた (その11)
opengl-tutorial.org というサイトを参考にOpenGLを勉強しています。
OBJファイルの読み込み
プログラム
頂点シェーダ
フラグメントシェーダ
コンパイル&実行
$ g++ `pkg-config --cflags glfw3 glew` -o prog11 prog11.cpp `pkg-config --static --libs glfw3 glew` $ ./prog11
実行結果
http://opengl-tutorial.org をやってみた (その10)
opengl-tutorial.org というサイトを参考にOpenGLを勉強しています。
マウスとキーボード入力
プログラム
頂点シェーダ
フラグメントシェーダ
コンパイル&実行
$ g++ `pkg-config --cflags glfw3 glew` -o prog10 prog10.cpp `pkg-config --static --libs glfw3 glew` $ ./prog10
実行結果
http://opengl-tutorial.org をやってみた (その9)
opengl-tutorial.org というサイトを参考にOpenGLを勉強しています。
BMPの読み込みとテクスチャマッピング
プログラム
頂点シェーダ
フラグメントシェーダ
コンパイル&実行
$ g++ `pkg-config --cflags glfw3 glew` -o prog09 prog09.cpp `pkg-config --static --libs glfw3 glew` $ ./prog09
実行結果
http://opengl-tutorial.org をやってみた (その8)
opengl-tutorial.org というサイトを参考にOpenGLを勉強しています。
立方体を2個描画
プログラム
頂点シェーダ
フラグメントシェーダ
コンパイル&実行
$ g++ `pkg-config --cflags glfw3 glew` -o prog08 prog08.cpp `pkg-config --static --libs glfw3 glew` $ ./prog08
実行結果