OpenGL Gameテンプレートを読みやすくする

OpenGL GameテンプレートにはGLKitの機能を使って描画を行うコードと、従来のシェーダーを使って描画を行うコードが混在しています。このままでは読みにくいので、GLKitを使った描画以外の部分のコードを消して、読みやすくして見ましょう。大分前に書いたつもりでいたのですが、どうも英語版のブログの方に記事を書いたまま、こっちには書いていなかったので転記しておきます。 “OpenGL Gameテンプレートを読みやすくする” の続きを読む

GLKitの基本

iOS 4あたりから、iOSにおけるグラフィックプログラミングの土台がOpenGL ES1からES2に移行されました。ES2ではシェーダー言語を使った実装が基本となるため、ES1に比べて初心者にとっての敷居が高いのが問題で、それを解決できるかもしれない注目のフレームワークがGLKitだったわけです。残念ながらiOS 5が正式リリースされた現在、GLKitはAPIとして使える状態にはなっているものの、ドキュメントはフレームワークリファレンスのみで、なかなか公式資料が他にでてこないのが困ったところ…。 “GLKitの基本” の続きを読む

GLKitのテクスチャ

今までiPhoneでOpenGLアプリケーションを作るときに面倒だった要素の一つとして、テクスチャのロードの問題がありました。DirectX等はテクスチャを使いたい際に画像ファイルを指定するだけでそこから自動でテクスチャを生成してくれたりするのですが、OpenGLの場合はそういった機能は用意されていないので、iPhoneの場合も自分で画像ファイルを展開してからビットマップの配列に変換してテクスチャを生成する必要がありました。GLKitではテクスチャローダーというクラスが用意されていて、ファイルを指定するだけでテクスチャを使えるようになりました。便利。

なお、後述の通りこの部分に関しては公式ドキュメントと実際のSDKのAPIの仕様に差異があるため、不確かな情報となっています(2011.10.16現在)。十分に注意してください。 “GLKitのテクスチャ” の続きを読む

OpenGL Gameテンプレート解読

ついにiOS5がリリースされました。iOS5で新たに加わった機能は沢山ありますが、OpenGL周りではGLKitフレームワークが新たに加わり、プロジェクトテンプレートもGLKitを使ったものに変更されたので、GLKitに慣れる第一歩として早速そのプロジェクトテンプレートを解読していきたいと思います。 “OpenGL Gameテンプレート解読” の続きを読む