【发布时间】:2012-07-03 16:51:11
【问题描述】:
目前我正在将一些东西渲染到带有附加深度渲染缓冲区的 FBO。
但是,在我完成渲染缓冲区之后,深度信息几乎丢失了。
如何将数据从渲染缓冲区复制到固定函数深度缓冲区?
【问题讨论】:
目前我正在将一些东西渲染到带有附加深度渲染缓冲区的 FBO。
但是,在我完成渲染缓冲区之后,深度信息几乎丢失了。
如何将数据从渲染缓冲区复制到固定函数深度缓冲区?
【问题讨论】:
您可以使用glBlitFramebuffer,启用GL_DEPTH_BUFFER_BIT 标志。
示例代码:
glBindFramebuffer(GL_READ_FRAMEBUFFER, fbo_id);
glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0);
glBlitFramebuffer(offset_x, offset_y, offset_x + size_x, offset_y + size_y,
offset_x, offset_y, offset_x + size_x, offset_y + size_y,
GL_DEPTH_BUFFER_BIT,
GL_NEAREST);
这将仅复制深度缓冲区。
【讨论】: