你可以使用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);
Run Code Online (Sandbox Code Playgroud)
这将仅复制深度缓冲区.