2012-03-26 24 views
0

プラットフォーム - iOS。 言語 - オブジェクトc、OpenGL。2つのEAGLLayerを1つのUIViewに配置する方法

私はOpenGLレンダリング用に2つのUIViewを配置する必要があります。

例えば、1つは回転する三角形(3D)で、もう1つはUIWindowで点滅する(3D)です。

さまざまなスレッドで永久にアニメーションされます。

各スレッドは、オブジェクトをレンダリングするために関数「glDrawArrays」を呼び出すことがあります。 (たぶん10 ftps?)

彼らは独自の "フレームとレンダーバッファ"、 "コマンドパイプライン"と "スレッド"を持っています。

私が意味するコマンドパイプラインは、次のようなコードです。例

glBindTexture(GL_TEXTURE_2D, texture); 
glTranslatef(1.5, 0, 1); 
glScalef(0.5,0.5, 1.0); 
glMultMatrixf(someMetrix); 

私はglXXXs機能の使用状況を理解できないことはできないために

たとえば、glBindTexture。

テクスチャを1つのバッファにバインドし、別のテクスチャを別のスレッドによって別のバッファにバインドします。

私は関数 "glBindTexture"のプロトタイプを見ると想像できません。

パラメータ「バインディングWHERE」はありません。

glXXX関数は、同じ領域にパッティングとバインディングが好きに見えます。

私を案内してください。

ありがとうございました。

答えて

2

は、以下のリンクがあなたに参考になるかもしれませ...

http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html

http://gamesfromwithin.com/using-multiple-opengl-views-and-uikit

私は最善の方法は、最初のOpenGL ESを学び、単一のビューを実装しようとし、複数を置くことだと思いますビューはあなたのために非常に簡単になります。

0

脳は現在、オブジェクト指向の方法で作業していることを覚えておく必要があります。 OpenGL ESを理解するための真の鍵は、手続き型であることです。テクスチャをに今すぐバインドしています。ではなく、の何かにバインドしています。使用されているものが何であれはそのテクスチャを使用します。

限り、それはあなたを取るとして、このチュートリアルに従ってください:http://iphonedevelopment.blogspot.com/2010/10/opengl-es-20-for-ios-chapter-1.html

およびOpenGL ESのフィリップRideoutのiPhone 3Dプログラミングの本を拾う:http://www.amazon.com/iPhone-Programming-Developing-Graphical-Applications/dp/0596804822/ref=ntt_at_ep_dpt_1

関連する問題