仕事でゲームを作っていることもあり、もう少し低レイヤの知識も付けたいと前々から思っていたこともあり、いまさらながら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
を付け加えないとビルドできないので注意。
実行すると以下のようなウィンドウが表示される。よい。