The NV40 line didn’t only introduce changes to the AA, but also to the
AF algorithm. As time goes by AF algorithms have gotten increasingly adaptive.
After the introduction of a basic hybrid bi-/trilinear texture filtering mode
(often referred to as “brilinear”) in NV3x – which also carried
over to NV4x – NV added also angle-dependancy to it’s algorithm.
In general I have nothing against clever performance improving ideas, as long
as the image quality doesn’t get affected too much. That doesn’t
mean that in the given case (same goes for the competition) angle-dependant
AF is under all occasions ideal; in many cases it takes an experienced eye
to notice differences. However there are some cases where the output is sub-optimal
and the algorithm switching between 2x and 16x AF samples can get quite noticeable.
It’s not that there wouldn’t had been alternative solutions to
gain at least equivalent performance with higher quality AF algorithms, but
that’s an entirely different chapter.
“Brilinear” on the other hand can be in my opinion much less annoying,
and if anything else can be switched off in the driver control panel, would
the user want to. Here’s to say that I have to applaud NVIDIA for implementing
a high quality texture filtering setting in it’s control panel. More
simply put: the more options the better and the user can freely decide what
fits his needs most.
Let’s have a look on some AF modes with Demirug’s D3D AF Tester:
2x sample AF isn’t angle-dependant here. Sadly enough 2x samples are
too few for today’s standards; even more with recent high-end class accelerators.
Here’s the spot where angle-dependancy actually begins, to end up like
this with 16xAF.
That “flower” looks quite familiar to the competition’s
Anisotropic filtering is meant –as most if not all know – to be
combined with Multisampling. Combining Supersampling with AF is of course delivering
superior texture quality and allows more aggressive LOD values, without adding
any texture aliasing to the scenery; sadly enough that combination can be rarely
used, due to performance reasons. Besides there is a small portion of redundancy
involved, since a fair amount of textures will end up being filtered twice.
Supersampling combined with AF:
1*2 SSAA or 4xS or 8x AA + 16x AF:
Output for the all three anti-aliasing modes is identical, since all the three
use the same pattern and sample amount. If you compare it to the simple 16xAF
output above, you’ll see the changes on the horizontal axis.
4x SSAA or 8xS + 16x AF:
Since plain 4x SSAA and 8xS use both the same portion of Supersampling, output
is here identical too, between the two modes. If you compare it again to plain
16xAF, you’ll notice that the “flower” this time has shrunk
towards the center of the tunnel. The shift in LOD equals –1.0, which
is normal for 4x Supersampling.
The major problem with Supersampling is that it eats up a huge amount of fill-rate,
doesn’t only affect performance, but also restricts to quite lower resolutions;
restrictions that don’t apply to recent MSAA + AF implementations.
I’ll have a look at performance ratings and the usability of SSAA+AF
combinations later on.