2

根据我读过的文档,使用 CGLayer 进行屏幕外绘图是进行 Quartz 2D 绘图的最高性能方式,因为它允许绘图由 GPU 和 VRAM 存储/管理。

当我完成绘图时,我想从 CGLayer 中获取像素缓冲区并将其用作 OpenGL 纹理。

我知道如何使用像素缓冲区创建纹理。

我已经看到了屏幕外渲染到 CGBitmapContext、检索像素、然后使用这些像素创建纹理的示例。

Quartz 2D 编程指南建议绘制到 CGBitmapContext 很慢并且在软件中完成(不涉及 GPU),所以我避免了这条路。

所以,他们说要快速绘图,我需要在 CGLayer 中进行绘图。如何将像素返回到可以发送到 glTexImage2D() 的内存缓冲区中?

非常感谢 !

4

0 回答 0