def yasuharu519(self):

日々の妄想

OpenGLことはじめ

仕事でゲームを作っていることもあり、もう少し低レイヤの知識も付けたいと前々から思っていたこともあり、いまさらながらOpenGLの勉強をはじめてみた。

OpenGL自体は描画APIで、ウィンドウの管理やマウスイベントの管理などは行ってくれず、 自分たちでよしなにする必要がある。 そのため、ただOpenGLの描画について学びたいだけなのに考慮する点が多い。 OpenGLといえば、和歌山大学の床井研究室のようで、こちらでは、GLUTを使ったOpenGLチュートリアル紹介されている

GLUTは、OpenGLを使いやすくするツールキットで、マルチプラットフォームもしており、 マルチプラットフォームでのウィンドウの表示などを行ってくれる。

ただし、GLUTは長い間メンテされておらず、 最近だと後発のGLFWなどが主流らしい。

最近GolangマルチプラットフォームUIライブラリである、google/gxuiが話題になったが、 これもベースはGLFWを使用している。

GLFWインストール

Homebrewを使用している場合は以下のコマンドから簡単にインストールできる。

  brew install glfw

簡単な図形表示

GLFWのページのGetting startedのページに、 簡単な三角形のポリゴン表示のサンプルがあったので試してみた。

ソースは以下のとおり。

Homebrew でインストールした場合は、ヘッダファイルが/usr/local/includeに、ライブラリが/usr/local/libに保存されるため、 その設定でMakefileをその設定で作成している。Macの場合は-framework OpenGLを付け加えないとビルドできないので注意。

実行すると以下のようなウィンドウが表示される。よい。

f:id:yasuharu519:20150407095938p:plain