OpenGL wiki说,为了在 FBO 中使用带有深度缓冲区的模板缓冲区附件,需要创建格式为 type 的渲染缓冲区GL_DEPTH24_STENCIL8
,因为似乎 GL_STENCIL_INDEXX 没有实现。
我不明白的是,如果我将这样的缓冲区设置为,它是否也是深度缓冲区GL_DEPTH_STENCIL_ATTACHMENT
?或者我还应该使用格式(GL_DEPTH_COMPONENTXX)创建单独的深度渲染缓冲区吗?
这并不是说 STENCIL_INDEX 格式没有“实现”。这是规范不需要实现来考虑它们是完整的。允许实现以任何它认为合适的原因拒绝图像格式的组合,除非您坚持所需的图像格式列表。
深度/模板图像中包含深度和模板,就像红色/绿色图像中同时包含红色和绿色一样。所以是的,您将相同的图像附加到GL_DEPTH_ATTACHMENT
和GL_STENCIL_ATTACMENT
点。或者您将GL_DEPTH_STENCIL_ATTACHMENT
两者都用作简写。