2

我想将 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 渲染到图像中以获取图像,它基本上用创建缓存纹理替换了对 glReadPixels 的调用,并将其绑定到渲染目标(像素缓冲区),然后从像素中读取缓冲区 - 它似乎从屏幕上“窃取”了图像 - 所以没有渲染任何内容。

谁能阐明如何做到这一点?另外,请提及这是否仅适用于 OpenGL ES 2.0 - 我正在寻找一种快速的替代方案,它也适用于以前的版本。

代码示例将非常好。

4

0 回答 0