FBO 深度和模板渲染缓冲区附件
Posted
技术标签:
【中文标题】FBO 深度和模板渲染缓冲区附件【英文标题】:FBO depth and stencil render buffer attachments 【发布时间】:2013-05-06 11:20:28 【问题描述】:OpenGL wiki 表示,为了在 FBO 中使用带有深度缓冲区的模板缓冲区附件,需要创建格式为 GL_DEPTH24_STENCIL8
的渲染缓冲区,因为它似乎没有实现 GL_STENCIL_INDEXX。
我不明白的是,如果我将它设置为GL_DEPTH_STENCIL_ATTACHMENT
,这样的缓冲区是否也是深度缓冲区?或者我还应该使用格式 (GL_DEPTH_COMPONENTXX) 创建单独的深度渲染缓冲区吗?
【问题讨论】:
你在哪个平台上? Linux/Windows OpenGL4.2 【参考方案1】:并不是说 STENCIL_INDEX 格式没有“实现”。规范并不要求一个实现来认为它们是完整的。允许实现reject a combination of image formats for whatever reasons it deems fit,除非你坚持list of required image formats。
深度/模板图像中包含深度和模板,就像红色/绿色图像中同时包含红色和绿色一样。所以是的,你 attach the same image 到 GL_DEPTH_ATTACHMENT
和 GL_STENCIL_ATTACMENT
点。或者您使用GL_DEPTH_STENCIL_ATTACHMENT
作为两者的简写。
【讨论】:
我实际上尝试使用 GL_STENCIL_INDEX 并且总是导致 FBO 不完整。同样在同一个维基上说“不要”这样做!”;)以上是关于FBO 深度和模板渲染缓冲区附件的主要内容,如果未能解决你的问题,请参考以下文章