[英]OpenGL ES 2.0 is it possible to draw to depth and “color” buffer simultaneously (without MRT)?
简单的OpenGL ES 2.0问题。 如果需要深度和颜色缓冲区,是否需要两次渲染几何图形? 或者我可以在渲染彩色框时绑定/附加深度缓冲区?
还是我需要两次MRT /渲染?
OpenGL在渲染期间更新颜色和深度缓冲区是正常的操作模式,只要它们都存在并启用即可。
如果要渲染到FBO,并且想要使用深度缓冲区,则需要分别通过调用glFramebufferTexture2D()
或glFramebufferRenderbuffer()
将颜色纹理或颜色渲染缓冲区附加到GL_COLOR_ATTACHMENT0
上。 然后使用glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, ...)
分配深度渲染glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT16, ...)
,并通过调用glFramebufferRenderbuffer()
将其附加到GL_DEPTH_ATTACHMENT
。
之后,您可以渲染一次,并且颜色和深度缓冲区都将被更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.