The video card's main 3D features

Due to the great development occurred in recent years, video cards, from being simply used to display images on a screen, became more and more complex items, able to perform a great quantity of operations and with a lot of features implemented in: some of them were really innovative and sometimes revolutionary, while others were nearly useless and good only for marketing purposes. So, which are the most important 3D features of a recent video card? Here are some of them:

AGP texturing: Process supported by almost all AGP video cards which allows to allocate the textures - which do not fit into the video RAM - into the system RAM. The available bandwidth between video card and system RAM is given by the used AGP transfer mode (see AGP performances for more info). However this bandwidth is very low, compared to the video RAM bandwidth: for this reason using AGP texturing has a strong impact on performance.
top

Anisotropic filtering: This is a type of texture filtering separate and complimentary to bilinear/trilinear filtering.
Standard texture filtering is isotropic in nature, equally long and wide, but that is based on screen space and not on the actual image being displayed. Anisotropic filtering works on an elongated sampling pattern which stretches the texel sampling in relation to the viewpoint and image. This results in the reduced aliasing that bilinear and trilinear offer, but without losing as much clarity as those methods alone do.
There are two different methods used to measure anisotropic filtering, one is the number of anisotropy supported, the other is the more commonly used "tap" rating. A board that supports anisotropy of one is eight tap, anisotropy of two is sixteen tap and so on. Currently most boards support anisotropic filtering at least of eight tap, though performance hits for using the technique range from mild to severe.
For an example, if you are staring directly at a wall perfectly flat in front of you you are seeing things properly filtered using bilinear or trilinear filtering. However, if you are looking at something on an angle, for instance the ground, the sampling from bilinear or trilinear still samples as if you were staring at a flat wall directly in front of you, based solely on the space it occupies on your monitor. If the ground is at an angle on your screen, anisotropic filters based on that angle. It works on the space the object occupies in the 3D scene.
top

Antialiasing: Technique that allows to reduce the aliasing effect of the borders of a 3D object with an interpolation operation, giving an higher realism perception
top

Bilinear filtering:Technique that allows to solve the problems related to textures which are smaller than the object to which they should be applied. In this case we would have a blocky effect, due to the expansion of the texture on the surface; using interpolation among a texel and the four adjacent, the bilinear filtering displays the correct texel, fading the block borders.
top

Buffering: This isn't really a 3D operation like the others listed here, because it isn't something that is done to the data. However, advanced 3D cards include memory buffers that are used for various tasks during these complex calculations. The more buffers the card has available, the more flexibility it has when doing advanced operations. This is why 3D cards usually need more memory than would strictly be necessary just to hold the screen image. Newer AGP systems can use the system memory for this.
top

Bump mapping: Technique that allows to simulate an higher number of polygons on a given object using a special texture. Specifically, Bump Mapping effects tend to make more realistic, thanks to the better rendition of lights and shadows, overhangs and recesses on surfaces. There are various techniques of Bump mapping, like CEM, Emboss, Dot Product 3 and EMBM.
top

Dithering: This is an effect that is actually used in many different places, including regular 2D graphics and also in printing. Dithering is the process of mixing a small number of colors together in specific patterns to create the illusion of there being a larger number of colors. In 3D, it is used largely to show more realistic color without needing to increase the color depth of the image (which means more computation time and more memory to store the graphics).
top

Double buffering: Technique which tries to speed up the 3D scene creation. Two separated portions of RAM are used, to elaborate the present frame and the following one: while the primary frame, in the primary buffer, is displayed on the monitor, the second one is created in the secondary buffer. Of course, this cause a double memory occupation.
top

DXTC: DirectX Texture Compression.
Texture compression technique included in Microsoft DirectX API and supported by most video chip.
top

DXVC: DirectX Volume Compression. Volumetric texture compression technique integrated in DirectX libraries 8.0 and above. This technique operates in a very simple way: each 2D "slice" composing a 3D texture is compressed using the DXTC algorithm.
top

Environmental mapping: This technique allows to simulate the 3D environment reflection on objects using a texture. To simulate a mirror in front of a light source you can simply use an image of the light source itself mapped on the mirror. There are several environmental mapping techniques, among them Dual Paraboloid, Spherical e Cubic.
top

Filtering: Processes of various kind on the visualized pixel which allow to correct distortions during the application of textures, using adjacent pixels as reference.
top

Fogging: An effect used in outdoor scenes, fogging serves two purposes by blurring objects that are in the distance. First, it helps to make the scene appear more realistic. If you've ever looked at a mountain scene you know that in the distance, objects to appear fuzzy due to atmospheric moisture. Second, fogging allows the 3D process to be performed more quickly because those objects in the distance that are "fogged out" can be computed more quickly since they are shown in less detail.
top

Fog table:
Technique used by 3D accelerators to render fog effects. The farthest objects colors are melt with the fog color, which intensity depends on the distance in the 3D scene. Both the fog color and its "density" are programmable. The fog table represents the 3D scene giving to each pixel an 8-bits value which indicates the fog density from 0 to 255.
top

Goraud shading: Rendering algorithm which is used to give 3D surfaces realistic shading. It assumes light constant on the triangle faces. Only the light that strikes the vertexes is considered; the color of internal points is found out with interpolation. Although it is very simple, this effect makes the object appear to have depth and helps to define the shape better.
top

Lightmap lighting: Lighting technique which uses lightmaps to perform the lighting/shading effects in the 3D scene. It allows a nice and very accurate rendition, but it requires multitexturing which has a negative impact on performances even with boards with 2 or more texture units, since it needs more bandwidth. Moreover, this technique allows only a static lighting/shading and not a dynamic (i.e. updated in real time) one.
top

Mip Mapping: Texturing technique which uses more copies of the same texture at different resolutions, in order to use the most adequate one to the dimension of the textured surface. The number of versions of the same texture indicates the LOD, Level Of Detail
top

Multisampling: Rendering mode that uses different versions of the same frame, obtaining a certain number of sub-pixel which are interpolated to apply effects like Anti-Aliasing. This rendering mode is supported by DirectX 8.0 and above.
top

Multitexturing: Application of more than one texture on the same object. We can tell of single-pass multitexturing if the video card's hardware can do this in one clock cycle; this situation occurs when the number of texture units per pipeline is at least equal to the number of overlapped textures in the used mode.
top

Per vertex lighting: 3D scene lighting technique, managed in hardware; each vertex is given a value of color. These values are then interpolated to obtain the final visual effect to assign to the texture which will cover the polygons. The result is generally approximate, especially with a low number of polygons. The higher this number, the more accurate will be the lighting effect, but this has a negative impact on performances because of the high number of operations the T&L engine has to do and the higher bandwidth occupation.
top

Per pixel lighting: 3D scene lighting technique; all operations are performed on each pixel, obtaining more accurate results than with the Per Vertex Lighting mode and an higher image quality. This technique is supported by DirectX API 8.0 and above.
top

Point sampling: It is the simplest texturing technique. The texture is used as sample, to know which color will have each pixel. The final result are blocky images for near objects and blurred images for far ones.
top

Ray tracing: Rendering algorithm which decompose the light in single rays. Each ray has a different behavior, depending on the kind of surface it strikes. This algorithm takes into account several physical laws such reflection and refraction. It is very realistic but requires an high computing power.
top

Supersampling: Rendering mode which consists in the following operations: the scene is rendered at an higher resolution and then scaled down to the currently used one; doing this most of aliasing effects are eliminated. This rendering mode is in fact used as an Anti-Aliasing alternative to the Multi-Sampling mode. It requires a lot of resources, particularly when the resolution grows.
top

Texture compression: The textures are files the graphic chip uses to get the data necessary for the 3D scene rendering. The higher their dimensions, the higher the needed memory (to allocate them) and the needed bandwidth. By reducing dimensions it is possible to increase the available bandwidth; this grants a performance boost, which can be quite impressive in the case that uncompressed textures do not fit into video memory, while compressed textures do.
The texture compression techniques are used to reduce as much as possible the initial dimensions, with a low quality loss. They are also used in another way: since the textures need less memory to be allocated, it is possible to use higher resolution textures, with an higher detail level, keeping dimensions (and thus performance) unaltered.
top

Transform&Lighting: Procedure at the basis of the generation of a 3D scene on the monitor, i.e. the conversion of the 3D data in a 2D environment; these conversions are obtain with simple but very numerous matrix operations: the more objects in a scene, the more polygons present, the higher the number of matrix conversion operations to perform to obtain the 2D frame. These operations take the noun of Transformation.
At the end of the transformation operation we will have as a result a whole of vertexex; each vertex represent a point in the 3D space and each point carries information on lighting, because assuming dynamic lighting the light of each part of the scene will change as we move in the scene itself. The process of calculus of information related to the different light source of each vertex takes name of Lighting. All these operations require a high number of floating point operations, performed by the system CPU; if a graphic chip has hardware support to Transform&Lighting, it means that it will manage the T&L operations instead of the CPU. If T&L is well implemented we will notice a great performance boost, because the T&L units of graphic chips are specifically designed for this kind of operations.
top

Trilinear filtering: Filtering method which allows a better visual quality with respect to bilinear filtering. Given two previously filtered mip-maps of the texture, the tri-linear filtering performs a new filtering on the resulting texture, correcting the blocky effect. This is one of the most advanced filtering techniques, requests a high computing power but the texture quality is generally better.
top

Triple Buffering: Technique that uses three portions of memory to elaborate three frames simultaneously. With respect to Double Buffering, now there is a third buffer: the first one is displayed on the monitor, the second one is ready to be displayed, while in the third one the next frame is being processed. This is necessary to disengage the recent video chips from the delays of the visualization on the monitor. This technique implies a triple memory occupation.
top

Volumetric fog: atmospheric effect of fog or lighting obtained with a system of particles. In this way there is an higher effect of "density" and the effect results more realistic.
top

Wireframe: Rendering mode exclusively geometric. The objects are represented with vertexes and angles, without using textures or lighting. Mostly used in CAD.
top

Z-Buffer: Part of the video memory which contains the position of a point in the 3D space. The Z-buffer contains the information related to the depth of a point, i.e. to the distance from the observer. Each Z-buffer value is made by a variable number of bits which defines the precisions. For example, with a 16 bit Z-buffer, each point can have 216=65536 possible values of depth. So, a 24 or 32-bits Z-buffer allows an higher detail and precision, while using 16-bits Z-buffer can lead to artifacts or visual defects. The kind of Z-buffer (16, 24 or 32 bits) is usually related to the color depth: with a 32 bits color depth it will not be possible to use a 16-bits Z-buffer. Only with certain recent graphic chips it is possible to select the two values independently. It is important to remember that a 16-bits Z-buffer can allow a performance boost, since it frees RAM bandwidth with respect to the 32-bits one.
top