我正在阅读28byteslater.com上关于延迟着色中MSAA的教程(此处链接)。
它说在显式多重采样中,我们可以访问特定样本。
难道我们不能从绑定到
这是我以前用来访问单个样本(不使用显式多重采样)的着色器代码:
我在显式多重采样中看到的唯一不同之处是,在着色器中使用了
它说在显式多重采样中,我们可以访问特定样本。
难道我们不能从绑定到
GL_TEXTURE_2D_MULTISAMPLE
的常规纹理中做同样的事情吗?这是我以前用来访问单个样本(不使用显式多重采样)的着色器代码:
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
。此外,如果我没记错的话,在着色器中不能使用渲染缓冲区,现在我们可以使用了吗?