Texture filtering is anti-aliasing for textures. This doesn't just apply to anisotropic filtering, but to simple bilinear and trilinear as well. The intent is the same: reduce aliasing. But the algorithms are very different, which means the actual effects are different.xtreme2k said:Would it be wrong to say AF is the AA for textures?
SSAA + AF and MSAA + AF which would look better?
Texture filtering is a limited method of anti-aliasing that specifically uses the paradigm of displaying color textures. Through the examination of this display algorithm, much more effective anti-aliasing techniques have been devised other than the "catch all" supersampling method. So, texture filtering will always have better image quality/performance ratio than basic supersampling FSAA. When combined with MSAA for anti-aliasing the edges, you get a much better image quality/performance ratio overall.
But what are the drawbacks? Today's texture filtering depends on certain assumptions. Many rendering algorithms that are available today violate those assumptions. For example, one cannot filter a normal map in the way one filters a color map. These algorithms also will not cover per-pixel branching (such as the compare instructions in DX8 and DX9, or an alpha test).
So, I think that first of all, anisotropic filtering will become less and less useful as time goes on. As pixel shaders become more advanced and complex, there will be less and less room for traditional texture filtering, as other forms of aliasing will crop up. We will either need to research efficient means of filtering each and every type of texture that is used, or simply head back to using the "catch-all" AA method of supersampling. I hope that both become available to future game programmers.
Here's what I would consider ideal for a future architecture:
Have multisampling AA selected by the program. Then, for a specific surface type that produces aliasing in a way that is not easily solved through more programming, the program decides that that surface should use supersampling instead of multisampling (at the same sample frequency). As far as I can tell, this should produce no major problems such as memory reallocation or abnormal pipeline stalls.
In today's software, for example, it would be nice to select SSAA for only those surfaces that use an alpha test. Some more recent programs may choose to select SSAA for surfaces that use some sort of bump map.