Game Development Dictionary
Graphics
Term Name  Description  

Backbuffer 
A secondary surface where the current frame's graphics are stored before they are transferred to the primary display surface.  
Bezier Surface 
A curved surface created from a mesh of control points.  
Blitting 
A method of outputting sprites by only showing nontransparent colors, without any checking during run time. This is done by precompiling a bmp into a piece of code that contains a set of screen memory writes that only include nontrasparent colors.  
Scene Graph 
A scene graph is a tree where the nodes are objects in a scene arranged in some sort of hirearchy. These nodes may be actual physical objects, or simply 'abstract' objects. For example a transformation node would apply some form of transformation to any 3D objects that are below the transformation node in the scene graph. A scene graph can be used for many things, depending on the way you order the nodes in the graph. For example you could have an octree containing object to be rendered in a scene, this would be a limited form of scene graph. You could have a scene graph that contains an octree as well as an alternative way or organising the same data, e.g. by render state. So you could use your scene graph for culling unseen objects as well as ordering objects to be rendered by render state.  
Vector 
In 3D graphics, a set of numbers representing magnitude and direction.  
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.  
Cel Shading 
A technique which causes rendered objects to look as though they are handdrawn, cartoon images.  
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.


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.  
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.  
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.  
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.  
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)


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.  
Backface Removal 
See Backface Culling.  
Corona 
The artifacts that appear around a bright light source. Often in circular or star like shapes.  
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.  
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.  
Bezier Patch 
See Bezier Surface.  
Graphics 
A form of data representation. Without graphics, we'd just have numeric displays. * Graphics use imagery, such as pictures, lines, points, colors and so on to represent information. It's the difference between a spreadsheet and a piechart. The spreadsheet is a numeric representation; the piechart is a graphical representation. Since computers see all things as numbers, programmers and electronics engineers have had to design ways to convert those numbers into moving images. The electronics engineers gave us the Graphics Card for this very purpose.  
Environment Mapping 
An effect where an object reflects its surroundings, much like chrome.  
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  
Volume Rendering 
A method of rendering that deals with the space that is used, as opposed to the faces that make up the outside of an object. Originally used for medical purposes only, it has also been adapted to do environmental effects, such as light through fog. 