0

我需要在 iOS 设备的屏幕上移动大量像素。这样做最有效的方法是什么?

到目前为止,我正在使用glTexSubImage2D(),但我想知道这是否可以更快地完成。我注意到 OpenGL ES 2.0 不支持像素缓冲区,但 Core Video 似乎使用了像素缓冲区。我可以用那个吗?或者也许有一个 Apple 的 OpenGL 扩展可以帮助我实现类似的东西(我认为在 WWDC 2012 视频之一中看到了关于客户端存储扩展的非常模糊的提及,但我找不到任何关于它的文档)?还有其他方法可以加快速度吗?

我主要关心的是glTexSubImage2D()复制我发送的所有像素。理想情况下,我想跳过复制数据的这一步,因为我已经准备好了......

4

1 回答 1

2

您可能想到的客户端存储扩展是CVOpenGLESTextureCacheCreateTextureFromImage;完整的教程在这里。这绝对是将数据传输到 GPU 的最快方式。

令人沮丧的是,我在 Apple 的文档中唯一提到它的是iOS 4.3 到 5.0 API 差异文档——快速搜索CVOpenGLESTextureCache.h.

于 2012-06-27T22:19:44.503 回答