我正在阅读来自28byteslater.com的MSAA中延迟着色的this tutorial。显式多重采样与OpenGL中的常规多重采样有何不同
它说,在明确的多重采样中,我们可以访问特定的样本。
难道我们不能从一个普通的纹理来做同样的事吗?例如,它会绑定到GL_TEXTURE_2D_MULTISAMPLE
?
这是我用来较早用于访问个别样品的shader代码(不使用显式的多采样):
uniform sampler2DMS Diffuse;
ivec2 Texcoord = ivec2(textureSize(Diffuse) * In.Texcoord);
vec4 colorFirstSample = texelFetch(Diffuse, Texcoord, 0);
vec4 colorSecondSample = texelFetch(Diffuse, Texcoord, 1);
vec4 colorThirdSample = texelFetch(Diffuse, Texcoord, 2);
不同的外显的多采样我唯一看到的是,他们在着色器使用texelFetchRenderbuffer()
并且纹理绑定到GL_TEXTURE_RENDERBUFFER_NV
。 如果我没有记错的话,它不可能在着色器中使用RenderBuffer,现在我们可以吗?
您的链接已被打破。 – Ruslan