iOSの3Dプラグミングを理解するのにOpenGLのGameテンプレートから入るのがいいと聞いたのでコード読んだ。
3Dプログラミング未経験者でとっつきにくかったが、参考サイトを教えてもらってある程度は理解できた(まだまだわかってないところはある)。
ここではOpenGLのGameテンプレートに関して調べたことをメモしておく。
Gameテンプレートの作り方
OpenGLのGameテンプレートはXcode 6.3.1では以下のように新しいプロジェクトを作成することで生成される。
Game TechnologyにOpenGL ESを選んでプロジェクト作成
実行すると2つのキューブがグルグルまわるテンプレートが作成される。
参考にしたサイト
-
シェーダーって何、頂点バッファオブジェクトって何状態だったのがもうちょっとわかる状態にしてくれたサイト
-
「今風 OpenGL の使い方」と「GLSL 入門」の最初あたりの記事がすごく参考になった
-
それぞれわかりやすいスライドでプログラムの理解で参考になった
-
GLKitの位置付けについて理解する参考になった
コードについてのメモ
- gCubeVertexDataは頂点の情報(positionX、positionY、positionZ)と頂点に対する法線ベクトル(normalX, normalY, normalZ)の情報を含んでいる
- 初期化コードの大部分でシェーダーの準備をしている
- setupGL関数でVBO/VAOの設定
- update関数でモデルビュー変換
- glkView関数で描画