如何快速读取OpenGL颜色缓冲区和深度缓冲区?

问题描述:

我必须每帧读取颜色缓冲区和深度缓冲区。我知道glReadPixels函数非常慢,所以我想知道是否有更快的方法来读取。如何快速读取OpenGL颜色缓冲区和深度缓冲区?

如果glReadPixels不够快,你有两个选择:

1)无论后期处理你需要做的,通过glsl做的GPU,OpenCLCUDA,或其他一些GPGPU解决方案

2)做一个asynchronous PBO read back在一个线程,而你开始处理下一帧上的另一个线程

3)优化了其他的东西,这样一个缓慢的回读不损害性能别处