Game Development Dictionary
Graphics
Term Name  Description  

Bezier Surface 
A curved surface created from a mesh of control points.  
Vector 
In 3D graphics, a set of numbers representing magnitude and direction.  
Backbuffer 
A secondary surface where the current frame's graphics are stored before they are transferred to the primary display surface.  
Bresenham's Algorithm 
An algorithm to compute which cells in a grid should be drawn in order to display a line between any two cells in the grid. Used to draw arbitrary lines to the screen.  
Blending 
When an image is drawn so that images drawn before it can still be seen. This is done through blending the source colors with the destination colors at different percentages.
Also called Transparency. 

Cel Shading 
A technique which causes rendered objects to look as though they are handdrawn, cartoon images.  
Bounding Box 
A box approximation of an object used for collision detection. An axisaligned bounding box (AABB) is defined by the minimum and maximum 'x', 'y', and 'z' values. An oriented bounding box (OBB), however, generally gives a closer fit, because it is always aligned with the object.  
VESA 
Video Electronics Standards Association. An organization that sets standards for video and multimedia in PCs. They created the Super VGA (SVGA) standard and the VESA Local Bus.  
Color Cycling 
Normally used with Indexed Color, this is a method of changing the index information for an image so that the colors change in a way that makes it appear to animate or cycle colors.  
Corona 
The artifacts that appear around a bright light source. Often in circular or star like shapes.  
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.


Cube Mapping 
An alternative to sphere mapping used in environment mapping, cube mapping gets a 'screenshot' looking in 6 different directions and arranges them in a rolled out cube. When applied, the object appears to reflect the environment around it. A 'cheap' alternative to raytracing reflections, cube mapping is fast enough for realtime.  
HDR 
Real world lighting contains a high range of luminance values. HDR, or High Dynamic Range lighting, is essentially a technique that exceeds the normal computer graphics color range of 0 to 255, allowing for more realistic lighting models.  
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)


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.  
Backface Removal 
See Backface Culling.  
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.  
Interlacing 
Because the electron guns that draw pictures on TV screens were initially too slow to draw the screen in one pass, the first lines at the top of the screen would be fading by the time the last lines were drawn, pictures on TVs were drawn using what is known as interlacing. First the odd lines down are drawn (line 1, 3, 5, etc.). Then the even lines are drawn (line 2, 4, 6, etc.). The image shown by one pass is known as a field, and the complete image drawn by two passes is known as a frame. Standard TV broadcasts run at 30 frames per second (fps). In an effort to boost hype for a product, sometimes ads or press releases would state that their game was "60 fields per second", instead of 30 fps. Most computer monitors are noninterlaced as well as many arcade screens.  
Environment Mapping 
An effect where an object reflects its surroundings, much like chrome.  
DirectGraphics 
Introduced in DirectX 8; DirectGraphics combines both Direct3D and DirectDraw. (DirectDraw was removed after DirectX 7)  
Boolean Geometry 
Named after mathematician George Boole Boolean geometry refers to combining multiple objects. Common operations include "unions" which combine two shapes and "difference" operations. Difference operations can be used to cut one shape out of another. 3d Studio Max and the game Red Faction for the Playstation II are good examples of how Boolean geometry can be used in practical applications.  
CG 
nVidia's (relatively) simple shader language. It's currently one of the most commonly used shader languages, and it supports OpenGL and Direct3D even on nonnVidia cards. Toolkit and information can be found at www.developer.nvidia.com  
Complete Binary Tree 
A binary tree in which all leaf nodes are at level n or n1, and all leaves at level n are towards the left.  
Cartesian Coordinate System 
The standard coordinate system. With three dimensions, there are three scalars, x, y, and z used to represent a point at a given distance from a reference point, the origin.  
Parallax Occlusion Mapping 
Employs perpixel raytracing for dynamic lighting of surfaces in realtime on the GPU. The method uses a high precision algorithm for approximating viewdependent surface extrusion for a given height field to simulate motion parallax and perspectivecorrect depth. Additionally, the method allows generation of soft shadows in realtime for surface occlusions. Alternatively, POM can be coupled with wellknown bump mapping algorithms such as normal mapping if physical accuracy can be sacrificed for greater computational efficiency. 