THE LANGUAGE OF 3D (Translated from GEN4 n°125)
Bump Mapping, Gouraud Shading, Z-Buffering, 32-BIT color, Bilineair, Trilineair, Anisotropic Filtering, etc...
In this world of 3D, technical terms follow up quickly without any resemblance whatsoever.
Needless to say; to achieve a realistic 3Dscene, each of the these terms have their significant function. 3D cards however don't always offer the correct results, this is why these terms are often used when testing 2D/3D cards.
The 6400 offering environment bumpmapping; the 3DFX VOODOO 3 who doesn't support 32-BITS and the TNT2 who is very comfortable with multitexturing, etc ... The vocabulary used isn't always evident, that's why we offer this FAQ/LEXICON about all the technical terms.
The accompanied screenshots from various games, should help comprehend what exactly offers the beauty of the old, recent and future games!
Alpha Blending
The transparency effect is one of the key elements to realism. It makes it possible to simmulate a window or water, for example. To do this, each pixel of a texture is defined by 4 values: RGBA (Red, Green, Blue and Alpha). this last value defines the degree of transparency of a texture. When using 16-BIT textures, we can use 4 bits per value, resulting in 16 nuances in transparency. This is why the best transparency is obtained in 32-BIT mode, offering 256 transparencylevels or nuances per pixel.
Antialiasing
Antialiasing is used to avoid the "jagged edges", visable on diagonal lines in a polygon.
To avoid this, the 3D card, will add pixels from an intermediate color inbetween the gaps of the diagonal lines. This is what we call Edge Antialiasing. More complex is the Full Scene Antialiasing, improving the rendering even more. The image will be internally calculated in a higher resolution as the current one, and will then reduce back to the final phase. This permits a significant improvement in quality, but unfortunately this operation is very systemdemanding.
Anisotropic Filtering
The Bilineair Filtering (when giving an accurent result), isn't perfect for every situation. It has to apply a filtering horizontally and vertically in most cases. This is possible when using Anisotropic Filtering, keeping the DEPTH of a 3dscene in mind. The only problem is that this effect is very systemintensitive towards the little visual improvement it offers. This is why it is rarely used in 3D applications.
Bilineair Filtering
It is important to know that all textures in a 3D scene are in a BITMAPformat (*.BMP).
In a bitmap, every image is defined point by point. When blowing up this texture (zooming in), every point or pixel is also blown up; this results in a collection of squares which off course isn't very attractive to look at. When using Bilineair Filtering, the 3D card will mix the colors of each pixel with the 4 adjacent pixels, this results in a soft transition and avoids the effect of blockiness. It is this effect that made us all go out and buy a 3DFX VOODOO 1, a few years ago.
Bump Mapping
Bump Mapping permits creating a relief on an object, simply by playing with the reflection of light. It is not necessary to create more polygons, who would slow down the processor.
There are 2 forms of Bump Mapping, Emboss and Environment, the first one is available on most 3D cards, the second (more precise) defines a BUMPlevel for each pixel (currently only Matrox 6400 offers this). the Environment Bump can create effects like waves on water.
Texture Compression
Despite all the methods of filtering, we cannot achieve a fotorealistic effect without high resolution textures. The use of these textures is very demanding for the videomemory. This is why S3 has created a method of texturecompression possible for rendering 'on the fly', the S3TC permits the compression of textures with a ratio of 1/6 without any notable qualityloss. Few cards support this function, even though this is one of the most promising functions...
Perspective Correction
When applying a 2D BITMAP texture on a 3D Object, the 3D card has to apply a perspective correction on those textures. Without this perspective correction, the 3Dscene loses a big part of it's appeal. while older 3D cards don't have this function of correction, recent cards correct this problem flawlessly.
32-BIT Color
Untill now we only presented 16-BIT Color, the textures are thus stocked in 16-BIT. So 4-BIT (16 values possible) for every value RGBA. Once the image has been calculated in 16-BIT, it offers a range of 65.536 colors. Unfortunately the rendering won't be perfect in 16-BIT, because it uses an important shade of the same color or Transparency Effect. While using 32-BIT offers 32-BIT Textures (256 values for every value), resulting in 4 million colors!
Environment Mapping
To achieve even more realism, why not reflecting the surrounding environments on an object? To obtain this effect, there is a technique we call Environment Mapping. A second texture reflecting the exterior world is applied on a 3D object, permitting more realism on for example the window of a car. The reflection of clouds can move on the surface of a car or the entire carrosserie, like in the games NFSII and III. The effect is rather systemdemanding, but the result is quite worth it!