LOD Bias, Anti-Aliasing and Anisotropic Filtering

NVIDIA's new GeForce4 Ti series of video chips affords the chance of tweaking one potentially popular unsupported feature, namely that of adjusting the MipMap LOD Bias. Actually, this LOD Bias "tweaking" is also available in NVIDIA's previous product line, the GeForce3.

I have discovered that the general public immediately notices one particular aspect of computer-generated 3D images above all other image quality considerations and that is the "perceived detail". High texture resolutions and aggressive mipmap LOD bias as implemented in software by default (i.e. games that feature aggressive LOD Bias by default) are among the chief contributors to elucidating a "My, this game has detailed-looking graphics" reaction by many folks. I hope that there is no need to explain high resolution textures - basically, you will get to a more detailed-looking game if that particular scene(s) in that game uses high resolution textures. It is mipmap LOD bias that this article is primarily concerned with, together with the effects of anti-aliasing as well as anisotropic filtering.

Aggressive LOD Biases of mipmaps will not turn a 128x128 texture into one that looks like 256x256 or even higher. The important phrase is that of "mipmaps". With texture filtering almost implemented by default (in one way or another, either bilinearly, trilinearly or anisotropically) in all modern games, mipmaps can be over sampled (via filtering) in possibly more than one dimension. If this happens, you may comment that a game (technically, it should be the textures, not the "game") may look blurry beyond a certain point or "distance". This will affect all textures, regardless of whether they are low or ultra-high resolution. LOD Bias can be specified whether in software or hardware to reduce this over-sampling that results in textures that appear to be unrealistically blurry when compared to the real world. Every texture has a Level-Of-Detail (LOD) parameter - LOD Bias simply adjusts the calculation of this particular parameter. You can make textures more or less blurry (or to many, "more or less detailed") by adjusting the LOD Bias of mipmaps. Think of a car's brakes - you can have a car that reacts very differently if you tweak the car's brake bias.

However, if you apply too aggressive a LOD Bias, you will notice artifacts, namely that of texture aliasing. Texture aliasing is perceived (i.e. actually witnessed on screen) differently than that of what many folks may notice more immediately and that is the jagged edges which is simply explained as when two textures of contrasting colors meet at angles that are not perfectly horizontal or vertical resulting in "discontinuity of a straight line". Texture aliasing occurs within a particular texture(s) itself. If/When this occurs, and can be be seen visually, you will see pixels within any one particular texture seemingly "move" as your point-of-view changes. It is perhaps simplistically explained as "If you see anything (that should be absolutely static that you're looking at) actually moving when they shouldn't be even when you are in motion, that's texture aliasing".

The problem, however, is as I mentioned earlier - what folks notices first of all is the apparent detail. And this could be down to too aggresive a LOD Bias, either by a game by default or by a piece of hardware.

What I have here in this article is a look at what a VisionTek GeForce4 Ti4600 can come up with when I play around with its unsupported LOD Bias adjustment as well as how its officially supported anti-aliasing and anisotropic filtering may help with curing the texture aliasing introduced upon introduction of overly aggresive LOD Bias settings. To have easy adjustments to the LOD Bias, I decided to use Alexey's excellent RivaTuner. I used only one game to test and that is the recently released Quake3-engine based Jedi Knight 2 : Jedi Outcast.