ドキュメントにOESはサフィックスだとかなんとか書いてるんで思いついたのが、glBindFramebufferOESじゃなくBind Framebufferとか、いくつかに分けての検索方法。
 ヒットしました。

glBindFramebuffer

って、

OpenGL ES 2.0 Reference Pages

に載ってるんじゃ~ん。
 これによると

glGenFramebuffers フレームバッファの固有名を作成
glBindFramebuffer 与えられた固有名をもつフレームバッファを作成

となるみたいです。
 実際のソースでは

glGenFramebuffersOES(1, &viewFramebuffer);
glBindFramebufferOES(GL_FRAMEBUFFER_OES, viewFramebuffer);

と書かれてます。ここで、glGenFramebuffersOESの1は、固有名を1個くれという意味。欲しければ2個でも3個でも要求できる。その場合viewFramebufferはviewFramebuffer[2]とかviewFramebuffer[3]とか要求する数分の配列にしないと駄目です。glBindFramebufferOESのGL_FRAMEBUFFER_OESは、今のところ、これしか指定してはいけないみたい。

 でもって、glGenRenderbuffersOES、glBindRenderbufferOESは対象がレンダーバッファになるだけでglGenFramebuffersOES、glBindFramebufferOESと使い方は同じ。
 さっきから連呼してるフレームバッファ、レンダーバッファがなにかというと

フレームバッファ
 アフィン行列や頂点列、頂点色列なんかの描画に必要なデータを保持する。

レンダーバッファ
 以下の3種類。
 GL_COLOR_ATTACHMENT0:画像バッファ。
 GL_DEPTH_ATTACHMENT:Zバッファ。
 GL_STENCIL_ATTACHMENT:ステンシルバッファ(3D版のマスク情報というところか?)

 そんな感じ。この画像バッファタイプのレンダーバッファは、OpenGL側とEAGLContext側で共有するみたいで、以下のようなAPIやメソッドで結びつけられるみたいです。

テン・シー・シー-1

 あと、Zバッファを利用したい場合は、もう一つレンダーバッファを確保して、以下のAPIで用途を設定する必要があるみたい。

glRenderbufferStorage

 GL_COLOR_ATTACHMENT0として割り付けてるviewRenderbufferの方はなにもしてないところをみると、glBindRenderbufferOESでのデフォルトは画像バッファなのか?
 謎。

 実際のソースでは

glRenderbufferStorageOES(
GL_RENDERBUFFER_OES, GL_DEPTH_COMPONENT16_OES,
backingWidth, backingHeight);

 となっていて、GL_RENDERBUFFERはこれ以外指定不可、GL_DEPTH_COMPONENT16_OESもZバッファなら、これ以外選択肢無し、backingWidth, backingHeightはglGetRenderbufferParameterivOESを使って、事前にGL_RENDERBUFFER_OESから取り出しというところでした。

 あとはglFramebufferRenderbufferOESでフレームバッファと結びつけて、glCheckFramebufferStatusOESで問題が無ければ実行可能となります。

 この作業は、表示領域が変わるたびに、やらなければならないみたいでlayoutSubviewsから呼び出されてます。当然、呼び出す前にdestroyFramebufferで古いフレームバッファ、レンダーバッファは破棄してますな。

 実際の描画のdrawViewメソッドでは、最初のglBindFramebufferOESで、現在のフレームバッファを自分のフレームバッファに設定するのはわかるんだけど、[context presentRenderbuffer:GL_RENDERBUFFER_OES]の直前でglBindRenderbufferOESを使って、現在のレンダーバッファを自分のレンダーバッファに設定するのは意味不明。
 最初、presentRenderbufferメソッドは実行されるとレンダーバッファが解放されてしまうからかと思ったんだけど、createFramebufferメソッドでglBindRenderbufferOES(GL_RENDERBUFFER_OES, depthRenderbuffer)で切り替えられた後、メソッドから戻る前にglBindRenderbufferOES(GL_RENDERBUFFER_OES, viewRenderbuffer)で再度設定し直しておけば、とくに直前のglBindRenderbufferOESが無くても問題なく動くような...
 注)initWithCoderメソッドでdrawablePropertiesにkEAGLDrawablePropertyRetainedBackingをNOと指定してるから解放してしまう。

 ま、2、3の謎は残ったけどOpenGL ESをUIViewで利用するための準備はわかったということで、あとは、注釈つけたサンプルソース読んでいってください。

 次回は陰影づけ。
 サンプル見てもらえるとわかるけど、どの面も均等な明るさなんだよね~。
 なので、同じ色にしちゃうと判別つかなくなる。
 光のあたる角度によって、明るくなる面と暗くなる面ができるようにするには、どーすればいいのかを調査っす。

------------
サンプルプロジェクト:es4.zip