Displayed representation of a scene or an object along two axes of reference: height and width (x and y).
Displayed representation of a scene or an object that appears to have three axes of reference: height, width, and
depth (x, y, and z).
The process of 3D graphics can be divided into three-stages: tessellation, geometry, and rendering. In the tessellation
stage, a described model of an object is created, and the object is then converted to a set of polygons. The geometry
stage includes transformation, lighting, and setup. The rendering stage, which is critical for 3D image quality,
creates a two dimensional display from the polygons created in the geometry stage.
The real world is composed of transparent, translucent, and opaque objects. Alpha blending is a technique for adding
transparency information for translucent objects. It is implemented by rendering polygons through a stipple mask
whose on-off density is proportional to the transparency of the object. The resultant color of a pixel is a combination
of the foreground and background color.
Typically, alpha has a normalized value of 0 to 1 for each color pixel.
new pixel = (alpha)(pixel A color) + (1 - alpha)(pixel B color)
An extra Color channel to hold transparency information; pixels become quad values (RGBA). In a 32-bit frame buffer
there are 24 bits of color, 8 each for red, green, and blue, along with an 8-bit alpha channel.
Anti-aliasing is sub pixel interpolation, a technique that makes edges appear to have better resolution.
Effects, such as fog and depth cueing, that improve the rendering of real-world environments.
A Bitmap is a pixel by pixel image.
Bilinear filtering is a method of anti-aliasing texture maps. A texture-aliening artifact occurs due to sampling
on a finite pixel grid. Point-sampled telexes jump from one pixel to another at random times. This aliening is
very noticeable on slowly rotating or moving polygons. The texture image jumps and shears along pixel boundaries.
To eliminate this problem, bilinear filtering takes a weighted average of four adjacent texture pixels to create
a single telex.
The BitBLT is the single most important acceleration function for windowed GUI environments. A BitBLT is simply
the movement of a block of data from one place to another, taking into account the special requirements and arrangements
of the graphics memory. For example, this function is utilized every time a window is moved; in which case, the
BitBLT is a simple Pixel Block Transfer. More complicated cases may occur where some transformation of the source
data is to occur, such as in a Color Expanded Block Transfer, where each monochromatic bit in the source is expanded
to the color in the foreground or background register before being written to the display.
Blending is the combining of two or more objects by adding them on a pixel-by-pixel basis.
A feature of PCI buses that allows a card with this feature to retrieve data directly from system memory without
any interaction with the host CPU
Chroma Keying or texture transparency is the ability to recognize a key color within a texture map and make it
transparent during the texture mapping process. Since not all objects are easily modeled with polygons, chroma
keying is used to include complex objects in a scene as texture maps.
Depth cueing is the lowering of intensity as objects move away from the viewpoint.
Dithering is a technique for archiving 24-bit quality in 8 or 16-bit frame buffers. Dithering uses two colors to
create the appearance of a third, giving a smooth appearance to an otherwise abrupt transition.
A method of using two buffers, one for display and the other for rendering. While one of the buffers is being displayed,
the other buffer is operated on by a rendering engine. When the new frame is rendered, the two buffers are switched.
The viewer sees a perfect image all the time.
Dynamic Random Access Memory is the memory at any location in a computer that can be accessed immediately for reading
and writing operations.
A type of DRAM that has enhanced readability in the Extended-Data-Out mode.
The flat shading method is also called constant shading. For rendering, it assigns a uniform color throughout an
entire polygon. This shading results in the lowest quality, an object surface with a faceted appearance and a visible
underlying geometry that looks 'blocky'.
Fog is the blending of an object with a fixed color as its pixels become farther away from the viewpoint.
The characteristics of displays using phosphors (as well as some cameras) are nonlinear. A small change in voltage
when the voltage level is low produces a change in the output display brightness level; but this same small change
in voltage at a high voltage level will not produce the same magnitude of change in the brightness output. This
effect, or actually the difference between what you should have and what you actually measured, is known as gamma.
Before being displayed, linear RGB data must be processed (gamma corrected) to compensate for the gamma (nonlinear
characteristics) of the display.
Gouraud shading, one of the most popular smooth shading algorithms, is named after its French originator, Henri
Gouraud. Gouraud shading, or color interpolation, is a process by which color information is interpolated across
the face of the polygon to determine the colors at each pixel. It assigns color to every pixel within each polygon
based on linear interpolation from the polygon's vertices. This method improves the 'blocky' (see Flat Shading)
look and provides an appearance of plastic or metallic surfaces.
Hidden Surface Removal
Hidden Surface Removal or visible surface determination entails displaying only those surfaces that are visible
to a viewer because objects are a collection of surfaces or solids.
Interpolation is a mathematical way of regenerating missing or needed information. For example, an image needs
to be scaled up by a factor of two, from 100 pixels to 200 pixels. The missing pixels are generated by interpolating
between the two pixels that are on either side of the pixel that needs to be generated. After all of the 'missing'
pixels have been interpolated, 200 pixels exist where only 100 existed before, and the image is twice as big as
it used to be.
There are many techniques for creating realistic graphical effects to simulate a real-life 3-D object on a 2-D
display. One technique is lighting. Lighting creates a real-world environment by means of rendering the different
grades of darkness and brightness of an object's appearance to make the object look solid.
A line buffer is a memory buffer used to hold one line of video. If the horizontal resolution of the screen is
640 pixels and RGB is used as the color space, the line buffer would have to be 640 locations long by 3 bytes wide.
This amounts to one location for each pixel and each color plane. Line buffers are typically used in filtering
Multum in Parvum (Latin) means 'many in one'. A method of increasing the quality of a texture map by applying different-resolution
texture maps for different objects in the same image, depending on their size and depth. If a texture-mapped polygon
is smaller than the texture image itself, the texture map will be undersampled during rasterization. As a result,
the texture mapping will be noisy and 'sparkly'. The purpose of MIP mapping is to remove this effect.
The effect of one object in 3-D space blocking another object from view.
Palletized Texture means compressed texture formats, such as 1-, 2-, 4-, and 8-bit instead of 24-bit; this allows
more textures to be stored in less memory.
A particular way to do texture mapping; it is extremely important for creating a realistic image. It takes into
account the effect of the Z value in a scene while mapping texels onto the surface of polygons. As a 3D object
moves away from the viewer, the length and height of the object become compressed, making it appear shorter. Without
perspective correction, objects will appear to shift and 'tear' in an unrealistic way. True perspective correction
is that the rate of change per pixel of texture is proportional to the depth. Since it requires a division per
pixel, perspective correction is very computing intensive.
Phong shading is a sophisticated smooth shading method, originated by Phong Bui-tuong. The Phong shading algorithm
is best known for its ability to render precise, realistic specula highlights. During rendering, Phong shading
achieves excellent realism by calculating the amount of light on the object at tiny points across the entire surface
instead of at the vertices of the polygons. Each pixel representing the image is given its own color based on the
lighting model applied at that point. Phong shading requires much more computation for the hardware than Gouraud
The process of reducing three dimensions to two dimensions for display is called Projection. It is the mapping
of the visible part of a three dimensional object onto a two dimension screen.
Translating an image into pixels.
The process of creating life-like images on a screen using mathematical models and formulas to add shading, color,
and lamination to a 2D or 3D wireframe.
"Rendering Engine" generically applies to the part of the graphics engine that draws 3D primitives, usually
triangles or other simple polygons. In most implementations, the rendering engine is responsible for interpolation
of edges and "filling in" the triangle.
Test pixel coordinates against clip rectangles and reject them if outside.
A set-up engine allows drivers to pass polygons to the rendering engine in the form of raw vertex information,
subpixel polygon addresses. Whereas, most common designs force the host CPU to pre-process polygons for the rendering
engine in terms of delta values for edges, color, and texture. Thus, a set-up engine moves processing from the
host CPU to the graphics chip, reducing bus bandwidth requirements by 30% for small, randomly placed triangles
and by proportionately more for larger polygons.
Synchronous DRAM is a type of DRAM to which reads or writes can be performed synchronously with the memory clock
and at much higher speeds than with Fast-Page or EDO DRAM.
Synchronous Graphics Random Access memory (SGRAM) is a type of memory that is optimized for graphics use. SGRAM
is capable of running at much higher speeds than fast page or EDO DRAM. SGRAM is able to execute a small number
of frequently executed operations, such as buffer clears, specific to graphics applications independently of the
In raster graphics architecture a primitive is formed by scan conversion where each scan line intersects the primitive
at two ends, P left and P right. A contiguous sequence of pixels on the scan line between P left and P right is
called a Span. Each pixel within the span contains the z, R, G, and B data values.
Processing 3D graphics can be pipelined into three-stages: tessellation, geometry, and rendering. Tessellation
is the process of subdividing a surface into smaller shapes. To describe object surface patterns, tessellation
breaks down the surface of an object into manageable polygons. Triangles or quadrilaterals are two usually used
polygons in drawing graphical objects because computer hardware can easy manipulate and calculate these two simple
An object divided into quads and subdivided into triangles for convenient calculation.
An interpolation technique used to remove texture distortion, staircasing or jagged edges, at the edges of an object.
Removing the undesirable distortion of a raster image, also called aliasing artifacts, such as sparkles and blockiness,
through interpolation of stored texture images.
Texture mapping is based on a stored bitmap consisting of texture pixels, or texels. It consists of wrapping a
texture image onto an object to create a realistic representation of the object in 3D space. The object is represented
by a set of polygons, usually triangles. The advantage is complexity reduction and rendering speed, because only
one texel read is required for each pixel being written to the frame buffer. The disadvantage is the blocky image
that results when the object moves.
Change of coordinates; a series of mathematical operations that act on output primitives and geometric attributes
to convert them from modeling coordinates to device coordinates.
Based on bilinear filtering, trilinear filtering takes the weighted average of two levels of bilinear filtering
results to create a single telex. The resultant graphics image is smoother and less flashy.
Tri-linear MIP Mapping
A method of reducing aliasing artifacts within texture maps by applying a bilinear filter to four texels from the
two nearest MIP maps and then interpolating between the two.
A part of off-screen memory that holds the distance from the viewpoint for each pixel, the Z-value. When objects
are rendered into a 2D frame buffer, the rendering engine must remove hidden surfaces.
A process of removing hidden surfaces using the depth value stored in the Z-buffer. Before bringing in a new frame,
the rendering engine clears the buffer, setting all Z-values to 'infinity'. When rendering objects, the engine
assigns a Z-value to each pixel: the closer the pixel to the viewer, the smaller the Z value. When a new pixel
is rendered, its depth is compared with the stored depth in the Z-buffer. The new pixel is written into the frame
buffer only if its depth value is less than the stored one.
A process of removing hidden surfaces by sorting polygons in back-to-front order prior to rendering. Thus, when
the polygons are rendered, the forward-most surfaces are rendered last. The rendering results are correct unless
objects are close to or intersect each other. The advantage is not requiring memory for storing depth values. The
disadvantage is the cost in more CPU cycles and limitations when objects penetrate each other.