4

我在将 msaa 深度缓冲区解析为深度纹理时遇到问题。我为我的颜色纹理和深度纹理创建了 glTexImage2d,并将它们绑定到“resolve”(非 msaa)帧缓冲区。然后我创建并绑定另一个帧缓冲区并创建我的多重采样渲染缓冲区(颜色和深度)。我知道要从多重采样渲染缓冲区中获取我的颜色纹理信息,我只是将写入缓冲区作为我的颜色纹理帧缓冲区,将读取缓冲区作为我的 msaa 帧缓冲区。我的问题是如何将多重采样深度缓冲区映射到深度纹理。

4

1 回答 1

4

您将按照与颜色缓冲区相同的方式执行此操作,只是您会使用GL_DEPTH_BUFFER_BIT并确保您使用GL_NEAREST过滤器模式。如果您想对深度/模板缓冲区进行线性过滤,无论出于何种原因,如果您使用深度纹理(当然这对于 MSAA 纹理仍然无效),您实际上可以在 GLSL 中执行此操作 - 但使用glBlitFramebuffer (...).

您不必glReadBuffer (...)像要选择单个颜色缓冲区那样做任何废话,glBlitFramebuffer (...)将深度缓冲区从 bound 复制GL_READ_FRAMEBUFFER到 bound GL_DRAW_FRAMEBUFFER

于 2013-09-17T18:40:24.207 回答