我不希望将深度缓冲区渲染到纹理,或查询它的阴影或类似的东西 - 我希望本质上制作一个渲染 channel ,它只是在我之前用一些数据预填充深度缓冲区其他将利用其内容的绘图调用。但是,我不希望这个“填充深度缓冲区”传递写入颜色缓冲区。
我正在使用 OpenGL 2.1(或 OpenGL ES 2)和非固定管线。
最佳答案
在某些情况下,仅深度渲染过程并不少见。
您可以在 GL 中通过屏蔽对颜色缓冲区的所有写入来实现这一点:glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_FALSE)
。 (如果你使用像模板这样的其他缓冲区,它们也有单独的掩码。)
另一种选择是只设置 glDrawBuffer(GL_NONE)
,但是,这在 GLES 2 中不可用。
关于c++ - 在只接触深度缓冲区的 openGL 中进行绘制调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32956543/