glReadPixels替代方案

时间:2012-08-03 12:37:47

标签: ios opengl-es rendering

我想将iOS帧捕获屏幕转换为AVAssetWriter(甚至只是UIImage)。使用glReadPixels的传统方法效果很好 - 但速度很慢。据我所知,自iOS 5.0以来我可以使用不同的 - 更快的方法。 我关注了很多帖子,例如:OpenGL ES 2d rendering into image 提到使用CVOpenGLESTextureCacheCreate - 但无法使其发挥作用。

现在,在每次调用presentRenderbuffer之前: - 我正在使用glReadPixelshttp://developer.apple.com/library/ios/#qa/qa1704/_index.html)跟随苹果的样本。当试图按照这个帖子 - OpenGL ES 2d rendering into image来获取图像时,它基本上替换了对创建缓存纹理的glReadPixels调用,并将其绑定到渲染目标(像素缓冲区),然后从像素缓冲区中读取 - 它似乎从屏幕上“窃取”了图像 - 因此没有任何内容呈现。

任何人都可以了解如何做到这一点?此外,请提及这是否仅适用于OpenGL ES 2.0 - 我正在寻找一种快速替代方案,它也适用于以前的版本。

代码示例非常好。

0 个答案:

没有答案