OpenGL 3.3 MSAA延迟着色

时间:2013-12-03 14:52:18

标签: c++ opengl deferred-rendering msaa

根据我的理解,我可以通过在创建帧缓冲区时指定多重采样纹理/渲染缓冲区(以高内存成本)在OpenGL 3.3中使用自动MSAA进行延迟着色。这种多重采样是否对着色器有任何影响,无论是几何传递还是着色过程,还是所有处理过的"引擎盖下#34;?

1 个答案:

答案 0 :(得分:2)

不,你不能在这种情况下拥有自动MSAA。当它首次被引入OpenGL时,它被称为显式多重采样。

您必须从多重采样纹理中获取每个样本,并在着色器中自行解决MSAA问题。多重采样颜色纹理是DX10硬件功能,多采样深度纹理是DX10.1功能,但OpenGL使其非常透明。由于直到DX10.1之后才将多重采样纹理引入GL,因此在大多数情况下,您可以在GL中获得两者(多重采样颜色+深度)。

我有一个旧答案here,可能有助于进一步澄清问题。