简单的OpenGL ES 2.0问题。如果我需要深度和颜色缓冲,我是否必须渲染几何?或者我可以在渲染彩色帧时绑定/附加深度缓冲区?
或者我需要两次MRT /渲染?
答案 0 :(得分:1)
这是OpenGL在渲染过程中更新颜色和深度缓冲区的正常操作模式,只要它们都存在且已启用。
如果您要渲染到FBO,并且想要使用深度缓冲区,则需要通过调用GL_COLOR_ATTACHMENT0
或{glFramebufferTexture2D()
将颜色纹理或颜色渲染缓冲区附加到glFramebufferRenderbuffer()
。分别为{1}}。然后使用glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, ...)
分配深度渲染缓冲区,并通过调用GL_DEPTH_ATTACHMENT
将其附加到glFramebufferRenderbuffer()
。
之后,您可以渲染一次,颜色和深度缓冲区都将更新。