iOS全屏动画与opengl es

时间:2012-02-06 17:40:33

标签: ios graphics opengl-es drawing fullscreen

抱歉我的英语不好。

我在内存中创建了一个iPad全屏尺寸1024 * 768 * 4字节位图缓冲区作为屏幕外缓冲区,并且有2个线程,其中一个更新缓冲区并在其他线程上调用performSelector setNeedsDisplay,另一个线程绘制了每个drawRect循环中屏幕上的整个缓冲区。

但这种方式太慢了。所以我希望通过将其更改为OpenGL ES 2.0实现来提高性能。

我的想法是创建一个全屏纹理,使用CADisplayLink每1/60秒触发一次drawView选择器以通过内存缓冲区更新纹理并在屏幕上绘制纹理。但我是opengl-es的新手,我知道如何初始化一个简单的EAGLLayer,从数据创建纹理,但我不知道如何在视图上绘制纹理,任何人都可以提供样本吗?

1 个答案:

答案 0 :(得分:1)

OpenGL ES 2.0对于渲染纹理来说太过分了。 OpenGL ES 1.1就足够了。使用着色器并不意味着它会更快。要创建全屏纹理,请使用两个三角形,其坐标为-1.0到1.0,并应用纹理。