Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用opengl es制作iOS全屏动画_Ios_Graphics_Opengl Es_Drawing_Fullscreen - Fatal编程技术网

使用opengl es制作iOS全屏动画

使用opengl es制作iOS全屏动画,ios,graphics,opengl-es,drawing,fullscreen,Ios,Graphics,Opengl Es,Drawing,Fullscreen,对不起,我的英语很差 我在内存中创建了一个iPad全屏大小1024*768*4字节的位图缓冲区作为屏幕外缓冲区,还有两个线程,其中一个更新缓冲区并调用performSelector setNeedsDisplay在另一个线程上显示,另一个线程在每个drawRect循环中在屏幕上绘制整个缓冲区 但是这条路太慢了。因此,我希望通过将其更改为OpenGL ES 2.0实现来提高性能 我的想法是创建一个全屏纹理,使用CADisplayLink每1/60秒启动一个drawView选择器,通过内存缓冲区更新

对不起,我的英语很差

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

但是这条路太慢了。因此,我希望通过将其更改为OpenGL ES 2.0实现来提高性能


我的想法是创建一个全屏纹理,使用CADisplayLink每1/60秒启动一个drawView选择器,通过内存缓冲区更新纹理并在屏幕上绘制纹理。但是我是opengl es新手,我知道如何初始化一个简单的EagleLayer,从数据创建一个纹理,但我不知道如何在视图上绘制纹理,有人能给我一个示例吗?

opengl es 2.0对于仅仅渲染纹理来说太难了。OpenGLES1.1就足够了。使用着色器并不意味着它会更快。要创建全屏纹理,请使用坐标从-1.0到1.0的两个三角形并应用纹理。

此处不支持“给我代码”类型的问题。从Xcode模板创建OpenGL ES项目,它将设置所有内容。或者看看CoCoS2谢谢你的建议,我会试试的。