iPhone OS の OpenGL オブジェクト モデルに頭を悩ませようとしています。UIView
現在、画面上でいくつかの異なるs (ビルド オンs) にレンダリングしてCAEAGLayer
います。私は現在、これらのそれぞれを個別に使用しておりEAGLContext
、それぞれにカラーレンダーバッファーとフレームバッファーがあります。
私はそれらで同様のものをレンダリングしています。これらのインスタンス間でテクスチャを共有して、メモリのオーバーヘッドを節約したいと考えています。
私の現在の理解では、同じセットアップ (いくつかのコンテキスト、それぞれに FBO/RBO があります) をEAGLShareGroup
使用できますが、最初のコンテキストを使用して後のコンテキストをスポーンする場合は、テクスチャ名 (GLuints) を単純に使用できます。後のものの最初のもの。これは正確ですか?
これが事実である場合、フォローアップの質問は次のとおりだと思います:「共有グループ」にする利点は何ですか? 同じコンテキストを再利用して、複数の FBO/RBO をそのコンテキストに関連付けることはできますか? 「オブジェクト」(テクスチャやその他の名前付きのもの) を共有しているように見えますが、コンテキストによって所有されている「状態」(マトリックス、有効/無効状態) は共有していないようです。
これを考える最良の方法は何ですか?
啓発をありがとう!