Quitch said:
Yes, but doesn't MSAA & AF do the job of SS, but in a faster way... without touching Alpha textures?
No - the overall visual results may be similar or not, depending on how the pixel is being shaded.
In the simplest cases where you have simple texture inputs and lighting the results will generally be pretty close to indistigushable, but in cases where you introduce some highly uncorrelated dependence between the texture data and the shader output (such as in a dependent texture read) the results can diverge sharply.
As a simple example of how you can generate different results say that I have a case where I sample from texture map A a coordinate that I use to sample from texture map B, so my shading equation in pseudo code is simply :
Code:
new_coordinate = SAMPLE map A AT original_coordinate
out = SAMPLE map B AT new_coordinate
Now, let's say that texture map B contains a sin() function, that repeats over the texture coordinate range 0->1.
So, first the case of MSAA with texture filtering:
For convenience's sake, let's say that my sample footprint covers exactly 4 texels in texture A, and the values of those texels when I read them turns out to be 0, 0, 0, and 1
I then filter these texels and get (0 + 0 + 0 + 1) / 4 = 0.25.
I look up the result once in texture map B and I get sin(0.25 * 2 * PI) = 1
So my output pixel is white.
Now let's do it with supersampling. I now have 4 times as many texture samples, so my texture footprint for each sub-pixel sample covers exactly one of my original 4 texels from the MSAA example above, so I now sample the whole blending equation 4 times and get the following result
Subpixel 1 = sin(0 * 2 * PI) = 0
Subpixel 2 = sin(0 * 2 * PI) = 0
Subpixel 3 = sin(0 * 2 * PI) = 0
Subpixel 4 = sin(1 * 2 * PI) = 0
Output = (0 + 0 + 0 + 0) / 4 = 0
So my output pixel from the supersampled version is black.
This is an extreme example, but it shows how you can in actuality get completely different results from pre-filtering textures, and post filtering the results of the whole blending equation.