2

目前,我正在将一些东西渲染到带有附加深度渲染缓冲区的 FBO。

但是,在我完成渲染缓冲区之后,深度信息几乎丢失了。

如何将数据从渲染缓冲区复制到固定函数深度缓冲区?

4

1 回答 1

5

您可以使用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);

这将仅复制深度缓冲区。

于 2012-07-03T16:57:27.277 回答