我正在将某个场景渲染到屏幕外帧缓冲区 (FBO),然后我正在读取渲染图像,glReadPixels()
用于在 CPU 上进行处理。该处理涉及一些非常简单的扫描例程和数据提取。
在分析之后,我意识到我的应用程序所做的大部分事情都是花费时间glReadPixels()
——超过 50% 的时间。所以自然的步骤是将处理转移到 GPU 上,这样就不必复制数据了。
所以我的问题是 - 将这样的东西编程到 GPU 的最佳方法是什么?
GLSL?
库达?
还有什么我目前不知道的吗?
主要要求是它可以访问渲染的屏幕外帧缓冲区(或纹理数据,因为可以渲染到纹理)并能够将一些信息输出到 CPU,比如 1 -2Kb 每帧。