如何将2个EAGLLayer放入一个UIView中

时间:2012-03-26 12:11:43

标签: ios opengl-es

平台 - iOS。 语言 - 对象c,OpenGL。

我必须为opengl渲染添加2个UIView。

例如,一个是旋转三角形(3D),另一个是在UIWindow中跳跃方形(3D)。

他们在不同的线程中永远制作动画。

每个Thread可以调用函数“glDrawArrays”来渲染对象。 (也许10 ftps?)

他们拥有自己的“Frame and Render Buffers”,“命令管道”和“线程”。

命令管道我的意思是跟下代码。

例如

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

我无法理解glXXXs函数的用法。

例如,glBindTexture。

我想将纹理绑定到一个缓冲区,并通过不同的线程将另一个纹理绑定到另一个缓冲区。

当我看到函数“glBindTexture”的原型时,我无法想象。

没有参数“绑定WHERE”。

glXXX函数看起来像在同一区域放置和绑定。

请指导我。

感谢。

2 个答案:

答案 0 :(得分: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并尝试实现单一视图,然后放置多个视图对你来说非常容易。

答案 1 :(得分:0)

你必须记住,你的大脑目前正在以面向对象的方式工作。理解OpenGL ES的真正关键在于它是程序性的。您将纹理绑定到 now ,而不是某些。无论使用什么现在将使用该纹理。

请尽量遵循本教程:http://iphonedevelopment.blogspot.com/2010/10/opengl-es-20-for-ios-chapter-1.html

在OpenGL ES上选择Phillip Rideout的iPhone 3D编程书:http://www.amazon.com/iPhone-Programming-Developing-Graphical-Applications/dp/0596804822/ref=ntt_at_ep_dpt_1