We need your help!
We need 7 developers from Canada and 18 more from Australia to help us complete a research survey.
Support our site by taking a quick sponsored survey and win a chance at a $50 Amazon gift card. Click here to get started!
Game Development Dictionary
Graphics
Term Name  Description  

Clear Reduction 
An optimization of Zbuffering that buffers 1/Z values rather than Z values. Traditionally, Zbuffers are cleared each frame, but clear reduction makes it so they must only be cleared far less frequently.  
Bump Mapping 
A process of rendering polygons that gives them an illusion of depth.  
Backface Culling 
Because the polygons facing away from the viewer are not seen, and the extra time spent drawing them would have no effect on the visual quality of the scene, these backfaces are almost always removed in some manner.  
Voxel 
Volume pixel. These are basically another way of drawing 3D objects, instead of defining them as the polygons that make up the outside of an object, you define it as a number of points. Voxels can be the size of a pixel on the screen, or they can be large spheres, sprites or any graphical representation of a point.  
3D Accelerator Card 
A type of graphics card which helps a computer to process 3D graphics very quickly.
* Computers cannot actually do 'real' 3D imagery (well, none that you can buy without three major lottery wins and a Chair of Lucasian Mathematics at Cambridge University). We haven't invented the Star Trekstyle Holosuite(tm) yet, so computers have to create a fake 3D which gets shown on a monitor or TV. Unfortunately, the conversion from 3D to 2D that has to be done requires a lot of mathematics. A 3D Accelerator card has speciallydesigned stuff on it which does a lot of the mathematics for the computer  leaving the computer to get on with more interesting work. Most 3D Accelerator cards now also accelerate the basic 2D stuff. 

Model 
Usually referring to an object that is created out of a number of polygons, splines or NURBS which to create an object in 3D.  
Texture Mapping 
The process of mapping a 2D image to a polygon. Often the polygon is rotated and a different size so that the texture must be rotated and scaled.  
S3TC 
Texture compression developed by S3.  
Painters Algorithm 
The idea of drawing from back to front, like a painter would while composing a scene. Problems can arise as some objects may be partially behind and in front of other objects.  
ZBuffer 
An array of numbers that store the proper point on an polygon and its distance from the camera. The array is usually comprised of all the pixels in a screen and only the closest points are stored and then drawn. This method eliminates the problem of overlapping objects.  
CrossProduct 
Cross Product (Vector Product) The cross product is a little more tricky. The cross product between two vectors yields a third vector which is perpendicular to the first two. For vectors A, B, and a resultant C : A X B = C Or in component form : ( A.x , A.y , A.z ) X ( B.x , B.y , B.z ) = ( A.y * B.z  A.z * B.y , A.z * B.x  A.x * B.z , A.x * B.y  A.y * B.x)
This is commonly utilized to compute something known as a surface normal. As by the cross product formula, a normal is simply a vector that is perpendicular to some plane. In graphics, this plane is usually a polygon of some type.
Please note that A X B <> B X A . Ordering is very important in cross products. What actually happens is that B X A will yield a vector which points in the opposite direction of A X B.


DotProduct 
Dot Product (Scalar Product) The dot product shouldn't cause you any trouble. It is simply a way to multiply vectors. Keep in mind that we would normally describe these vectors in unit vector notation. Here is a typical representation of a dot product for vectors A and B: A · B Or we can describe the same equation in terms of vector components: A · B = A.x * B.x + A.y * B.y + A.z * B.z Using a Dot Product, we can obtain the angle between two vectors A and B as follows: Cos q = (A · B) / (A · B) q = arcCos ((A · B) / (A · B)) Okay, lets break down what just occurred above. What we are saying is that the cosine of theta is equal to the dot product of A and B divided by the product of A and B's magnitudes. The magnitude of a vector V is denoted by : V
One can calculate the magnitude of a vector simply by taking the square root of each term in the vector squared. Ie. A = sqrt (A.x * A.x + A.y * A.y + A.z * A.z)


Relative Coordinate system 
Also called the ViewCentered Coordinate system. The Viewpoint (camera) is always at coordinates <0,0,0> and everything else in the Universe is based relatively to this home position.  
NURBS 
NonUniform Rational BSplines  
BSP Tree 
Binary Space Partition Tree. This is a sorting method for sorting nonmoving polygons where polygons are either in front or behind the currently polygon. The resulting linked list gives you the proper sorting for all polygons on the screen.  
Absolute Coordinate System 
A coordinate system where all objects must be shown from the position of your viewpoint. Coordinates are all static and the Viewpoint (camera) moves through the preset coordinates. 