2013-05-06 75 views
0

OpenGL wiki说为了使用模板缓冲区附件和FBO中的深度缓冲区,需要创建格式类型为GL_DEPTH24_STENCIL8的渲染缓冲区,因为GL_STENCIL_INDEXX似乎没有实现。FBO深度和模板渲染缓冲区附件

我不明白的是,如果我将其设置为GL_DEPTH_STENCIL_ATTACHMENT,这样的缓冲区是否也是深度缓冲区?或者我应该仍然创建格式(GL_DEPTH_COMPONENTXX)单独的深度渲染缓冲区?

+0

你在哪个平台上? – tadman 2013-05-06 11:21:51

+0

Linux/Windows OpenGL4.2 – 2013-05-06 11:23:25

回答

3

这不是STENCIL_INDEX格式没有“实施”。这是规范不要求实施考虑他们是完整的。执行允许为reject a combination of image formats for whatever reasons it deems fit,,除非你坚持list of required image formats

深度/模版图像中有深度和模板,就像红/绿图像中有红色和绿色一样。所以是的,你attach the same imageGL_DEPTH_ATTACHMENTGL_STENCIL_ATTACMENT点。或者您使用GL_DEPTH_STENCIL_ATTACHMENT作为两者的简写。

+0

我实际上尝试使用GL_STENCIL_INDEX,它总是导致不完整的FBO。在同一个wiki中也有人说“不要这样做!”;) – 2013-05-06 12:08:46