GeForce 3 - 7 way shootout (4/42)

Filtering

Modern graphics chips employ features like FSAA to increase image quality visibly. Another such feature is texture filtering. The following examples illustrate the challenges involved in the use of texture filtering. When you draw a texture over a group of polygons, say a plane, and then view it at a very small angle, the texture needs to be asymmetrically scaled to fit the perspective, since the width of the texture needs to decrease as the distance from your viewpoint increases.

To avoid jagged edges, the texture is filtered, which is a somewhat similar step like FSAA. The drawback to this method is that with increasing distance, the image quality of said texture will decrease due to the distortion as it is adjusted to fit the viewing distance. Using refined filtering methods, this effect can be minimized, but using these filters to render 3D in real-time would take an enormous amount of computing power. There is however a rather simple trick to speed up the filtering process called mip-mapping. A mip-map contains a copy of the texture in different sizes. This way, all the game engine needs to do is pick the best fit texture size and draw it into the scene, thereby reducing distortion to a minimum.


Mipmapping: a texture is available in several sizes

Anisotropic Filtering

Normal bi- or trilinear filtering works quite well with planes or spaces that face the viewer. As soon as the viewpoint drops below a certain angle, the image quality once again starts to suffer. This is where anisotropic ("an" = not, "iso" = uniform, "tropic" = shape – basically non-uniform/quasi-random) filtering comes into play (you just gotta love tech words! :-)

Trilinear filtered

Anisotropic filtering

Bi- and trilinear filtering calculate the color value of a pixel (texel) by averaging the color values of four surrounding pixels (using a quasi-circular shape). This doesn’t yield optimal results for the kind of skewed-perspective plane from our previous example, however. Anisotropic filtering uses a more random method to pick the pixels to interpolate the filtered pixel from. In addition, more surrounding pixels (samples) are used, thereby creating an oval shape (4 pixels, 8 pixels, 4 pixels for 4-Tap anisotropic, for example). This way even the texture’s receding parts have a crisper, clearer look in the plane from our example. Obviously, the more surrounding pixels are used to calculate the color value, the better the result. Again, the processing power needed for this type of filtering is tremendous and increaes with the number of samples used. Where the GeForce 2 only supported 4-tap anisotropic filtering, the GeForce 3 also offers 8-tap (32 samples) and 16-tap (64 samples anisotropic.


The red box shows the cut-out you see in the
following pictures
GeForce 2 GeForce 3

Normal filtering (Trilinear) - 100%

 

16 Sample

16 Sample

 
The cut-out is not
enlarged. With increasing
sampling rate the textures
become visibly crisper.
The difference between
32 and 64-sample
anisotropic is minimal
though and practically
unnoticeable in a running
game.)

32 Sample

 

64 Sample

Of course, you’ll only get the full effect when you look at these screenshots uncompressed and at the correct resolution. Feel free to download a RAR-archive of these screenshots in BMP format at 800x600. Download: Anisotropic Screenshots (3,7MB - youŽll need Winrar)

Copyright: 12.06.2001 -   RIVA Station 2001 - Lars Weinand - Translation by Benjamin Kraft!
No Copy without Permission!

URL of this Article: www.rivastation.com/7gf3cards_e.htm - If you want to link to it, please use this URL! :-)