【OpenGL】エンジンを使わないゲーム開発 -環境構築とウィンドウの表示-


緒論

ゲーム会社を目指して就活をしている身であるが,目指している企業のエンジニアブログを拝見したところ,新卒の人も,ゲームエンジンに頼らない低レベルのフレームワーク?API?などを用いて基礎を学んでおくと良い,とのことだったので早速勉強を開始していく.
最終的にエンジンに頼らず自由にゲームが制作できることを目的とする.私は力学を大の得意科目ということにしているので,物理挙動をある程度自由に組めるようになりたい.
早くねねっちになりたい.

今回,MacOSXcodeを環境にOpenGLGLUTを使用していく.参考にさせていただいたサイトを以下に示しておく.

参考文献
GLUTによる「手抜きOpenGL入門」
こちら基本関数の説明とともに網羅的に書いてあり,章も分かりやすい.
OpenGL道場再生リスト
動画で実際に動かした様子を見比べながら勉強できる.

方法

1. 環境構築

毎回,環境構築するたびに思うのが,あまり何を設定しているのか理解していないということ.一度プログラムの基礎の基礎を学ぶような必要があると思う.
早速だがまず,嬉しいことに,MacだとXcodeをダウンロードしておくとOpenGLとGLUTは最初から入っている状態となるらしい.

次に,以下のコマンドでコンパイルができ,実行ファイル a.out が作成される.

tarminal
gcc -framework GLUT -framework OpenGL ***.cpp

あとは実行するだけのようだ.

tarminal
./a.out

2. プログラム

だいたいコメント文入れてみた.

main.cpp
#include <OpenGL/OpenGL.h>
#include <GLUT/GLUT.h>

// この中に描画したいものを入れる
void Display()
{
}

int main(int argc, char *argv[])
{
    // GLUTとOpenGL環境の初期化
    glutInit(&argc, argv);
    // ウィンドウを開く関数
    glutCreateWindow("Title");
    // ウィンドウが開かれたり再描画の際に実行
    glutDisplayFunc(Display);
    // 無限ループの関数,イベント待ち状態
    glutMainLoop();
    return 0;
}

先のコマンドでコンパイルすると結構な数の警告文が出てきた.どうやら

Mac OS X 10.9 (Mavericks) / Xcode 5 以降で GLUT を使ったプログラムをコンパイルすると, "deplicated" (非推奨) という警告が出ます.

とのことなので,無視しておこうと思う.
MacとOpenGLもまあまあ相性が悪いらしい.

結果

以下のように,ウィンドウが表示された.

結論

  • ウィンドウが表示できた!