XCodeで
まず、新規プロジェクトの作成。
OpenGLES使用したプロジェクトを選択。

いったんビルド。
グラデーションのかかった四角形が上下に揺れる。

ついで、コードの書き換え。
最初からあるファイルの拡張子を.mから.mmに変更。
また、既存のプロジェクトからソースをコピー。
***AppDelegate.h/mm
***ViewController.h/mm
の4ファイル。
(main.mm, EAGLView.h/mm は不要)
ビルドエラーが起きるので、不要なインクルードは削除。
また、必要なファイルがいくつか必要になるのでコピー。
debug.h/mm
common.h/mm
ios_interface.h/mm
GLDraw.h/mm
GameMain.h/mm
さらに、シェーダも書き換える。
Shader.vsh
Shader.fsh
そして忘れがちなところで、
coregraphics.frameworkを追加する。
この状態でビルド。
すると、ファイル読み込みに失敗して終了する。
読み込みが必須である、
white.jpg
earth.jpg
をプロジェクトに追加。
この状態でふたたび実行。
すると、画面が(0.5,0.5,1.0)一色に表示される。
これで完成!

コードをコピーしないで、プロジェクト生成時に自動でできるようにしたい。
また、切り分けがちゃんとできるよう、ファイルを芋づる式にコピーする必要がないようにしたい。
例えば、
デバッグ出力などは、
DEBUG_PRINTF()
を使うと、debug.hをインクルードする必要がでてしまうので
#if DEBUG
NSLog();
#endif
とするとか。
数は多くないし、そんなに読みづらくはならないだろう。
io_iosがInput.hを見ているが、これは逆にすべき
PR