The Glossary

In this section you can find all possible 3D related terms defined. You can walk through it or you can use the slider below.

128-Bit
This can refer to the internal graphics engine, or the path from the controller to graphics memory.

A "true 128-bit" graphics subsystem contains incorporates both a 128-bit internal graphics engine in addition to a 128-bit path from the controller to graphics memory. Graphics boards based on this technology provide enhanced 2D and 3D performance in comparison to the older 64-bit technology. The NVidia TnT would be an example of a true 128-bit chip, while the S3 Savage 3D would be an example of an internal only 128 bit chip.

3D Graphics Accelerator
Well this is a great place to start. Basically a 3D accelerator is a graphics card which can draw polygons, using only the polygons 3-dimensional vertices, and which can map textures on polygons and/or shade polygons.

 Not all graphics accelerators are 3D card. Up until 1997 most graphics accelerators were just 2D- they drew two dimensional images by spitting out pixels onto to the screen without calculating that hidden element- the z-axis

AGP:  Accelerated Graphics Port
A dedicated graphics bus slot on PC motherboards.  AGP operates at 66 MHz and transfers data at a rate up to 528 MB/sec, compared to the PCI slot which runs at 33 MHz and has a maximum transfer rate of 132 MB/sec. 

A key to AGP's future success is the its ability to use system memory to store and retrieve larger, more realistic textures.  By using system memory rather than video memory, without incurring a dramatic performance hit, 3D application developers can utilize the greater bandwidth for more graphically intense games. 

The Graphics industry is rapidly moving from PCI to AGP. 

Alpha-blending
Is a technique to do transparency.  It is an extra value added to the pixels of a texture map to define how easy it is to look through the pixel. This way it is possible to look through things and effects like realistic water and glass are possible.  Usually there a different levels available and some form of blurring is used to make the whole look realistic. 
Alpha Channel
Colors can be defined by Red, Green, and Blue values.  But, in addition to RGB values, they can also be given alpha values, which will be used to blend several colors together. 
Anistropic Filtering
See Filtering
Anti-Aliasing
Explaining this completely would mean explaining the whole mathematical sampling theory.  It boils down to this.  To recover a signal , or image, you need a minimum of samples to be able to give a realistic representation of the image.  The problems start with texture maps being either too close or too far away from the viewpoint.  If the polygon is far away you only have a limited number of points to show the texture map, so logically you have to drop a lot of the real pixels of your texture map.  This creates some sort of interlace effect : one line is shown and one is not.  This can result in weird patterns appearing, and makes the texture map look completely different from the real one.  A similar problem if the polygon is close to you.  You need more info than there is resulting in the generation of random noise (meaningless values).  Most of the time the last problem is solved by MIP-Mapping while the other is solved by the anti-aliasing. 

Another point where anti-aliasing is used is with straight lines.  If you draw a straight line (under an angle) using a paint program and you zoom in, you will discover that the line looks like a stairway.  To remove this and make the line look like a line points in different colors are added to the side of the line to make it look more like a real line.  Most of the time it is this kind of Anti-Aliasing they are talking about. 

API: Application Programming Interface
A library of routines, functions and objects which can be used to develop applications.  An API may also provide a Hardware Abstraction Layer (HAL), that is, an interface to various hardware devices. 
Application Setting (app hint)
Since Direct3D is not always implemented in the same way some graphics boards perform best with some features turned off, and others tweaked to perform in a different way.

 In the case of 3Dfx you can use a separate program called Tweak to add customization.

 The PowerVR chipset has its own built in interface on its driver tab that allows the user to customize the settings for a particular game.  VideoLogic and Matrox have supplied a long list of pre-configured games, but as new games come out more will be added in driver updates.  The user can also update his own settings by going into the advanced settings for the PowerVR driver. 

Atmospheric effects
Actually refers to 2 other effects that form an atmospheric effect when they are combined : Fogging and Depth Cueing. 
Bilinear Filtering
See Filtering
Bump Mapping
An effect such as adding a raised, 3D tactile texture to a texture map, which increases the realism of 3D objects. Examples of this might include a final rendered image of a brick wall that shows the uneven surface of the brick and the grooves between bricks. 
Busmastering
Busmastering is an expansion of the PCI-bus developed by INTEL.  It allows 2 PCI-bus-peripherals to talk to each other without interrupting the main processor.  This allows speedy communication between the 2cards and doesn't slow the main processor down.  Speeds go up to 100Mbps in laboratory setups and up to around 60Mbps for real motherboards.  This technique is used by the PowerVR to send the pixels that are calculated to the existing graphics card which does the frame buffering and will transfer the image to the monitor.  The 60Mbps is more than enough, in general there is 15% left of the 60Mbps.  There is NO loss in quality. 
CLUT: Color Look-Up Table
A table which establishes a correspondence between the global palette (64K colors, for example), and the subset of colors, i.e.  the limited palette (made of 16 or 256 colors), used by a particular texture. 
Depth Cueing
Changes the color and hue of an object in accordance with the object's distance from the viewer.  Most realistic effects are obtained when using an exponential curve to determine the color and hue. 
Direct3D
Microsoft's API for 3D graphics.  One of the components of DirectX.  Supported by all gaming-oriented 3D accelerators so far. 
DirectX
a set of APIs developed by Microsoft.  DirectX is made of several components, each of which can be used to access different hardware devices.  The members of this family include: 
  • Direct Draw for enhanced 2-D graphics services. 
  • Direct3D for enhanced 3-D graphics services. 
  • Direct Sound for enhanced sound-mixing and playback services. 
  • Direct Play for enhanced multiplayer game connectivity over the Internet. 
  • Direct Input for enhanced joystick and other input device performance.

DirectX is a low-level API designed specially for high-performance applications such as games. It is a thin layer providing direct access to hardware services (hence the name). The technology takes advantage of available hardware accelerators and emulates accelerator service when accelerators are present. 

Double Buffering
This is the process of using two frame buffers for smooth animation. While the image of the first buffer is being displayed, the graphics controller can use the second buffer to build or render the next image. Once the second image is completed, the buffers are switched. Thus, the result is the appearance of smooth animation because only complete images are displayed, and the process of drawing is not shown. 
Dithering
Creating a new color by blending several colors which are already available.  This technique can be used to make 256-color images look like 64K-color images.  The reverse is also true: dithering can be used to render with only 256 colors some images which were computed using 64K colors. 
EDO Ram
Extended Data Out RAM. This type of memory is faster than regular Dynamic RAM because it has its own cache. While the CPU is reading the data stored in this cache, the memory can retrieve other information so that the CPU will not be idly waiting for the memory to catch up. 
Fill Rate
the number of pixels that a card can render (textured and shaded) over a given time period (millions of pixels per second, MPPS). 
FPS
FPS stands for Frames per Second. This is the main a unit of measure that is used to describe graphics and video performance. The goal for good DVD playback is 30fps. 30fps is also used as a minimum perfomance bar for good game play; however, most gamers will desire significantly better performance..

While the human eye is generally not able to see more than 30 fps, there are many reasons why serious gamers look for faster frame rates. For a more detailed overview of fps goto 3D Gaming's Frames Per Second Explanation.

Fogging
Creates a fog like effect by placing a haze over the scene.  Is used to make object appear slowly to avoid the sudden appearance of objects. 
Frame Buffer
Part of the memory that is used to store the actual calculated frame. The frame buffer usually stores 2 frames : one is being calculated by the 3D accelerator while the other one is being send to the monitor, this is called double buffering and delivers smooth animation.  For 640x480 resolution with 16 bits color we require 640x480x16x2 = 9830400 bits of memory or about 1.2 Mb of Frame Buffer memory.  For 800x600x16b we need 1.8 Mb.  For 1024x768x16b we need about 3Mb each value is for 2 frames.  Voodoo cards are equipped with 2Mb for the Frame and Z-buffer.  It is very clear that no resolutions higher than 800x600 are possible.  If you want the Z-buffer you are limited to 640x480.  PowerVR uses the Memory of your existing graphics card for Frame Buffering. 
Filtering
Filtering is a method to determine the color of a pixel based on texture maps.  When you get very close to a polygon the texture map does not have enough information to determine the real color of each pixel on the screen so through interpolation (a technique of using information of the real pixels surrounding the unknown pixel to determine its color based on mathematical averages) the correct pixel is calculated. Funny enough filtering blurs the image to improve quality; however, filtering advanced filtering techniques will sometimes give the whole game a rather vague.  A good example of this are the monsters in Quake.  When you get close they will look rather blurred and unrealistic.

 In essence filtering is OK for texture maps that are vague (Texture maps of roads, floors, and walls tend to be ideal), but it completely destroys texture maps that use very strict differences of color (faces, computer consoles, and text are sometimes blured beyond recognition.) Like a chess-board pattern this has very strict changes from white to black. When using interpolation the whole thing may end up looking gray which is not what you want.

 Following are some methods of filtering starting (from the worst quality to best)

     

  1. Point Sampled filtering 
  2. Bilinear filtering 
  3. Trilinear filtering

Filtering is a method to determine the color of a pixel based on texture maps.  When you get very close to a polygon the texture map hasn't got enough info to determine the real color of each pixel on the screen.  The 3 methods describe ways of determining the color of these pixels.  The basic idea is interpolation, this is a technique of using information of the real pixels surrounding the unknown pixel to determine its color based on mathematical averages.

Point filtering will just copy the color of the nearest real pixel, so it will actually enlarge the real pixel.  This creates a blocky effect and when moving this blocks can change color quickly creating weird visual effects.  This technique is always used in software 3D engines because it requires very little calculation power.

Bilinear filtering uses four adjacent texels (real info) to interpolate the output pixel value (unknown).  This results in a smoother textured polygon as the interpolation filters down the blockiness associated with point sampling.  The disadvantage of bilinear texturing is that it results in a fourfold increase in texture memory bandwidth.

Trilinear filtering will combine Bilinear filtering in 2 Mip levels. This however results in 8 texels being needed so memory bandwidth is multiplied by 2.  This usually means that the memory will suffer serious bandwidth problems so trilinear filtering is usually used as an option.

Anistropic Filtering addresses quadrilateral shaped and angled areas of a texture image. A sharper image is accomplished by interpolating and filtering multiple samples from one or more MIP-maps to better approximate very distorted textures. This is the next level of filtering after trilinear filtering. While it will create the best looking images it comes at a serious price and should only be used when your system can handle it. If your system is performing slowly try turning on and off Anistropic filtering for better perfomance.

Glide
A proprietary 3D graphics API developed by 3Dfx Interactive, designed to enable game developers to take full advantage of 3Dfx's Voodoo 1, Voodoo 2, and Banshee chipsets.
Loopback Cable
This is the technique used by the Voodoo cards to put images on the screen of the monitor.  There is the "loopback cable" that goes from your existing 2D card to the Voodoo based card, from there your old cable goes to the monitor.  For 2D operation you still use your old 2D card the info has to move through the poorly shielded loopback cable to the Voodoo and than to the monitor.  This results in quality loss (noise picked up by the loopback cable).  When you turn on 3D acceleration the Voodoo card disconnects (using relays or FET-switches) your 2D cards signal and start broadcasting.  These switches are again a big source of noise.  This noise will result in blurry high resolution images when using your 2D card. It is visible with resolutions of 1024x768 and higher. 
HAL: Hardware Abstraction Layer.
A component of an API which represents the hardware functions of a particular system which can be used by the API to render an image and create various 3D effects. 
Hardware Triangle Setup
A 100% hardware triangle setup engine allows drivers to pass polygons directly to the rendering portion of the 3D graphics processor without forcing the CPU to pre-process these polygons. By moving this function from the CPU to the graphics chip, increased performance is realized to achieve stunning interactive 3D. 
Lens flares
Nice visual effect, simulating the patterns appearing when the sun or a light sources hits the lens of a camera.  Supported in the hardware by the PowerVR cards and easily done in software for the other cards. 
MIP mapping
A technique using scaled down versions of a texture image, generated beforehand and stored in memory, are then used in rendering a 3D scene to provide the best quality. This technique allows objects to look more detailed when coming closer to them by defining multiple texture maps- very detailed textures maps are used when the object is close and less detailed ones used when the object is further away.  This helps to avoid the blocky textures, and the step effect on lines.  Usually they talk about MIP-levels or Level of Detail (LOD) which refers to the quality of the texture map used.
  • Derived from Latin phrase, multium in parvo, ("many in one"), because it uses several pre-filtered texture patterns known as MIP-maps
  • Original texture is reduced by 1/4 and stored as the 2nd texture, then it is reduced by again by 1/4 and stored as the 3rd texture…
  • The appropriate texture MIP-map is selected depending on how far or near the object is from the viewpoint.
On-Chip Cache
Memory on the graphics chip designed to store textures, greatly enhancing 3D rendering performance. Memory that is integrated into the graphics chip is much faster than memory on the graphics card.
Open GL
A set of specifications for a cross-platform 3D graphics API developed initially by Silicon Graphics Inc. Currently this is primarily used for CAD applications and other professional level 3D design work in Windows NT. Quake has popularized this as a gaming API. 

For PC 3D graphics accelerators, there are currently two ways to implement OpenGL support, a full Installable Client Driver (ICD) or a Mini Client Driver (MCD). ICD is the original driver model for OpenGL, and enables vendors to access the entire OpenGL pipeline, allowing them to increase acceleration while maintaining the stability and compatibility of the driver. MCD is a stripped down OpenGL driver, allowing access to only a portion of the OpenGL pipeline, limiting the ability to increase performance and stabilize the driver. MCD is all that is required for games such as Quake.

Perspective Correction
Function that removes the distortion that appears when a texture map is applied to a polygon in space.  By using a computational intensive method, this particular way of doing texture mapping increases the realism of an image. Perspective Correction takes into account the depth of a scene while rendering texels onto the surface of polygons. This provides the appearance that objects near the viewer are larger and objects that are further appear smaller. In addition, this allows parallel lines such as railroad tracks converge in the far distance.
Pipelining
AGP graphics boards can queue multiple commands using a method called pipelining. In pipelining, AGP overlaps the memory or bus access times for a request with the issuing of following requests. In the PCI bus, the second request does not begin until the data transfer of the first request finishes.
Point-Sampled Filtering
See Filtering
Rasterization
the process of transforming a 3D image into a set of colored pixels. 
Real time shadows and light volumes on complex objects
The advanced algorithm used by the PowerVR is partly based on search the intersecting line of 2 planes.  To do real time shadows you let infinite planes tart from you light source and you let the go around the object casting its shadow.  The intersecting lines between the surrounding objects (surfaces) and the planes coming from the light source will determine the Real shadow casted by that object.  Light Volumes are similar but instead of casting a shadow you do an inversion and you are casting light. 

The other chipsets are incapable of doing hardware shadows and have to use a software equivalent, this means that it will be slower and much less realistic.  Usually those software shadows are static and do not move with the light source, they always fall straight under the object.  Recreating the same realism as with the powerVR is possible but would require too much time of the main processor to be used.

Rendering
A term which is often used as a synonym for rasterization, but which can also refer to the whole process of creating a 3D image. 
RGB - Red-Green-Blue
Each color is defined by a value on the Red scale, a value on the Green scale and a value on the Blue scale. 
RGBA- Red-Green-Blue-Alpha
Adds an alpha-value. 
SDRAM
Synchronous Dynamic Random Access Memory (SDRAM) is a extremely fast form of graphics memory that incorporates a pipelined architecture which helps to set up synchronization between itself with the CPU bus clock for very high memory access speeds. Increased performance is obtained with SDRAM by using a multiple bank architecture that simulates the dual port nature of other video RAM technologies. 
Shading: Flat, Gouraud, and Interpolative
  • Flat Shading

  • The same color to an object in order to represent the effects of light. All pixels inside a polygon are given the same shade.
  • Interpolative Shading 

  • Each pixel inside a polygon is given a particular shade, which is determined by interpolating between the polygon's vertices, or between the polygon's edges.
  • Gouraud Shading 

  • Gouraud shading is a method in which the triangle color is obtained by interpolating the vertex colors that are located at each corner of the triangle. By utilizing this technique, 3D objects appear increasingly realistic due to the smooth, curved appearance of the surfaces, even though they consist of many separate polygons.

    There are some better algorithms: Phong and Metal Shading but both require, at this time, too much calculation power to be used in real time. 

Sideband Signalling 
An extra 8-bits of addressing capability built into AGP which, in effect, allows the AGP graphics board to request information over AGP at the same time as it is receiving data over the 32-bit datapath of the bus. This is yet another way that AGP graphics board can create better efficiencies and improve overall graphics performance.
Single-Pass Multi-Texturing
A feature made possible by new advanced 3D graphics processors such as the NVIDIA RIVA TNT. In order to provide increased realism in 3D worlds, multi-texturing is the process by which multiple texture maps are rendered and blended together. An example of this might be a rendered image of yourself looking into a chrome hubcap and seeing your reflection. Traditionally 3D graphics processors were able to utilize this feature by implementing two passes. First rendering one image, then the other and finally blending them. The action whereby a 3D graphics board processes these two images in one pass is considered single-pass multi-texturing. As you might imagine, this provides for increased performance and realism while maintaining visual quality.
SLI
SLI stands for Scan Line Interleave, a method of connecting two 3Dfx's Voodoo 2 through an internal cable to increase performance. In this configuration, each card renders every other line, which almost doubles the fill rate. 
Stencil Buffer
This buffer holds special information for each pixel as to whether or not to draw it. Stencils can be of any shape and can be thought of as cuts that allow an image to be seen through the cutout. This feature is particularly useful in creating special effects such as shadowing from multiple light source.
Sub pixel-positioning (-correction)
There is a limited number of pixels available on the screen, if a line doesn't run through a real pixel, it must be moved to the nearest one, this introduces a positional error.  This technique will break up pixels into smaller sub pixels in memory so that the line can be drawn to the nearest sub pixel. 
Texture compositing, morphing, animation
Visual effect based on using different texture maps for the same polygon. All are based on placing time dependent texture maps on the polygon.  Usually used for displaying movies on road signs.  Supported in the hardware by Voodoo. Easy to do in the software for the other cards. 
Texture Mapping
In 3D graphics, texture mapping is the process of adding a graphic pattern to the polygons of a 3D scene.  Unlike simple shading, which uses colors to the underlying polygons of the scene, texture mapping applies simple textured graphics, also known as patterns or more commonly "tiles", to simulate walls, floors, the sky, and so on. 
Texture Memory
Part of the memory that is used to store the texture maps.  Usually a separate block of memory (separated from the Frame and Z-buffer).  There is 2Mb on most cards while the powerVR based cards have 4Mb.  Texture maps can be stored in different formats : color depth, size (32x32 up to 256x256 pixels).  The pixels of a texture map are usually referred to as Texels. The more Texture Memory your card has the more different texture maps can be used in a scene.  This allows more MIP-levels or more different ones to avoid repetition of the same texture maps over and over, gives more variation and more realism to the scene.  Some software companies are complaining that 2Mb of texture ram is not enough.  The general rule is the more the better but watch our for bandwidth problems... 
Trilinear Filtering
See Filtering
3D Winbench 98 Quality Test
Ziff-Davis publishing has created a variety of tests to test the speed of PCs and more in particularly the speed of the graphics card. 3D Winbench 98 is a test created to specifically test the speed of the graphic chip's 3D engine.

 When 3D Winbench 98 was first created Direct 3D was still a very new standard that was poorly supported. Many 3D graphic chips were not capable of displaying many of the features of Direct 3D and Ziff-Davis correctly decided that before running a benchmark they should test the quality of the image. The logic is this: I does not matter if a chip is capable of displaying a game at 100 frames per second, if that image is devoid most of the 3D features that the user is looking for, then the user may just be better off using DOS.

 Before you can run the 3D Winbench's 3D Winmark Test you must run the Quality Test to verify that the features are supported. If a feature is not supported then that feature will be turned off during the test and the score of that particular test will be a 0. Since the final Winmark is based on the sum of the scores, the failure of a feature will negatively effect the 3D Winmark score. 

Today, most new chips support the bulk of the 3D features that 3D Winbench 98 tests for, and offer many others that the test does not account for. While this test is certainly not the only test that should be used when considering which card to buy, it is a good place to start. 

Windows95
<win-doz-nin-te-fiv> n. 32 bit extensions and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition. 
Z-Axis
The z-axis measures the depth of an object in a 3D world. Each object is composed of a group of vertices (points) that form a polygons which in turn combine to form a complex (usually) object.  Assuming that the x-axis and the y-axis define the plane in which the screen (the front of your monitor) is included, the z-axis measures the distance from a point to the screen.  In a 2D image the polygons would just be flat, but in a 3D image the polygons actually have depth enabling some polygons to be located behind others either partially or completely. It is this depth that makes a 3D world come alive. 
Z-Buffer
An additional portion of memory which stores a 3D object's value on the Z-axis (depth). The graphic controller can decide to draw or delete certain lines by constantly comparing Z-values in this buffer, and therefore make certain parts visible or hidden to the viewer. Part of the memory where the depth value of pixel is stored.  Space has three coordinates x, y and z.  Assuming that the x-axis and the y-axis define the plane in which the screen is included, the z-axis measures the distance from a point to the screen.  The z-buffer is a portion of memory used to store the coordinate on the z-axis of the closest opaque point for each value of x and y.  The value of the z-axis allows the card to determine whether a pixel is visible or not.  A 16bit number that represents the Z-value (depth).  High values are far away while small ones are close to you.

You need 640x480x16= 4915200 bits at a resolution of 640x480 with a Z-buffer size of 16bits.  It is equivalent to adding one extra frame to the framebuffer for Voodoo Cards.  It is trivial that at a resolution of 800x600 the Voodoo based cards can not use a Z-buffer because they only have 2Mb for frame- and Z-buffering.  They would need 800x600x16x3bits or 2.7Mb.No problem with 640x480 : 1.8Mb required.

Generally a dedicated z-buffer increases frame rates but since it requires memory it is more expensive. AGP should help solve this problem since AGP will allow the 2D/3D card to access main memory for the z-buffer.

An alternative to a dedicated z-buffer is used by the PowerVR which uses a technique called Hidden Surface Removal to determine whether a pixel is visible or not, and so it does not need any memory for this process. 



This document has been made by Jack Frost from 3D Gaming, all credits time and patience go to him. Wonderful job Jack !
 

 

Copyright 1999 - All rights reserved Hilbert Hagedoorn

 

trans468x15.gif (182 bytes) right.gif (163 bytes)