• Create Account

# Graphics

Term Name Description

#### Clear Reduction

An optimization of Z-buffering that buffers 1/Z values rather than Z values. Traditionally, Z-buffers 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 Trek-style 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 specially-designed 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.

#### Z-Buffer

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.

#### Cross-Product

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.

#### Dot-Product

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 View-Centered 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

Non-Uniform Rational B-Splines

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