多重采样深度纹理的片段着色器

时间:2013-11-16 09:34:26

标签: opengl glsl fragment

对于多重采样深度纹理,片段着色器中哪些操作是理想的?我的意思是,对于RGBA纹理,我们可以从texelFetch()得到平均颜色值。

多重采样深度纹理应该是理想的着色器代码?

1 个答案:

答案 0 :(得分:-1)

多重采样深度纹理首先是Shader Model 4.1(DX 10.1)功能(多重采样颜色纹理是DX 10.0)。 OpenGL没有说清楚,但并非所有GL3类硬件都支持它们。也就是说,由于多重采样纹理是GL 3.2的特性,因此这个问题在OpenGL世界中基本上没有实际意义。 可能会 在蓝色的月亮中出现一次。

无论如何,假设您的硬件支持前者,多样本深度纹理和颜色纹理之间没有区别。即使深度纹理是整数格式,当您在texelFetch (...)上使用sampler2DMS对其进行采样时,您将获得格式为vec4 (depth.r, depth.r, depth.r, 1.0)的单精度4分量浮点向量。

如果想要多样本深度分辨,可以将纹素平均在一起,但所有样本之间的深度差异对于快速查找渲染场景中的边缘以实现双边滤波等内容也很有用。