黒毛和牛モモバラ切り落し100g298円

iPhoneアプリを作ってます。リリースノートとか用ブログです。

OpenGL ES1.1 Project Template for Xcode-4.5 or later

Xcode-4.5以降で使えるOpenGL ES1.1用のProject Templateをgithubにアップロードしました。

https://github.com/wagyu298/OpenGLES1-Xcode-Template

プロジェクトテンプレートを作った経緯

ちょっと前にOpenGLを勉強をしていましてiPhone向けのOpenGL関係の本を何冊か読んでみたのですが、OpenGL ES1.1向けかES1.1とES2両方向けに書かれているものがほとんどでして、OpenGL ES1.1向けのコード例はOpenGL ES Applicationテンプレートから作る形で説明されているのですが、今のXcodeにはこのテンプレートは存在せずOpenGL Gameテンプレートしか無いため読み進めることができず、仕方がないのでOpenGL ES Applicationテンプレート互換のテンプレートを自分で作ってみました、という経緯です。

ちなみにOpenGL GameテンプレートはOpenGL ES2用となっており、ES2向けに書かれた初心者向けの本は見た限りでは無かったので、今OpenGL ESを一から勉強するのは結構しんどいかもしれません、というかしんどかったです。

テンプレートの有無とかであれこれ悩むのはまったく時間の無駄ですので、そろそろどなたかOpenGL ES2向けだけに書かれた初心者向けの本を書いて頂けないですかねー?と希望しますのでよろしくーw

Xcode3のOpenGL ES Applicationテンプレートとの違い

OpenGL ES ApplicationテンプレートではViewControllerは存在せず、AppDelegateがEAGLViewを作って表示しているだけなのですが、今はAppleでもOpenGL ESとUIKitの併用を非推奨としておらず、ViewControllerがあった方が色々便利なのでSingle View Based Applicationと同じ構成にしており、ViewControllerとxibファイルからEAGLViewを作成しています。

ES1Renderer.mを修正すればOpenGL関係の処理が変わるのは同じです。ES1Renderer.mを書き換える際に不要になるコードは#ifndef DELETE_THISで括っていますので、ばっさり消しちゃってください。

その他はできるだけOpenGL ES Applicationテンプレートと合わせていますが、細かいところは微妙に違うかもしれません。わざと変えてるところもありますのでAS ISでお願いいたします。