了OpenGL 4.2规格(第3.3.1节)中明确指出:多重采样FBO深度/模板和OpenGL规范
因为每个样本包括颜色,深度,和模板信息,色彩(包括 纹理操作),深度和模板功能的执行与 单样本模式等效。 称为多重采样缓冲区的附加缓冲区被添加到帧缓冲区。 像素样本值(包括颜色,深度和模板值)存储在此 缓冲区中。样本包含每个片段颜色的单独颜色值。 当 帧缓冲区包含一个多采样缓冲区时,即使多采样缓冲区不存储深度或模板值,它也不包括深度或模板 缓冲区。但是,颜色缓冲区与多采样缓冲区共存。
但是,如果我需要深度/模板测试,我必须设置depth_stencil多重采样渲染缓冲区。
这是违背规范还是我错过了什么?
是的,当然我会在draw_renderbuffer的相同样本中添加一个depth_stencil多重采样的渲染缓冲区(当然否则fbo不会完成),但是我在第3.3节时首先提出了深度/模板的需求。 1声明这样的bufefr不应该出现在多采样的fbo中 – user815129 2012-01-13 06:43:51
@ user815129:然而,3.3.1节没有对多采样的FBO **做任何说明。它正在专门讨论* default framebuffer *。 – 2012-01-13 06:50:44
是的,我认为也是这样,我只是张贴来看看ms fbo是否需要depth_stencil根据别人的经验.. – user815129 2012-01-13 07:20:28