3D Rendering Pipeline
Scene Generation
This is the first stage, and what happens here is the that the CPU has to figure out what is going on in
the scene, and how to draw it. All of the scene information and settings are recorded, so that geometry
transformation can begin.
Geometry Transformation, And Culling
This step is done by the CPU, with the acception of some of the newer video cards which feature a
dedicated Transform & Lighting processor. This step is responsible for the creation of the coordinate
matrix for every object, and the scene. These data matrixes are used in the later pipeline stanges for
calculations. All geometry information has to be recalculated everytime an object moves. All geometry
which is out of view or behind the viewpoint is removed, called culling.
Lighting, And Clipping
This step is done by the CPU, with the exception of some of the newer video cards which feature a
dedicated Transform & Lighting processor. This step is responsible for the basic appearance of all of
the polygons which were created by the previous stage. But matrix multiplication and comparisons,
base colours are assigned to each polygon based on their orientation to the light sources, opacity and
reflectivity. Any geometry which is hidden behind another objects is removed now, called clipping.
Triangle Setup
Triangle setup is done by all video accelerators, and this involves the breakdown of each polygon into
horizontal strips called spans based on what textures they use. This stage on is also refered to as
rasterization. Each one of these spans is then sent individually to the next pipeline stage.
Texturing
This pipeline takes each span and pixel by pixel begins to texture it. Based on what type of texture
filtering is needed, and how many textures are to be used, a pixel may have to spend up to three clock
cycles before it is complete. Most current video cards are capable of applying 2 or even 3 textures to each
pixel in a single clock. This is called multi-texturing, and it is one of the major
advancements in computer gaming, creating life-like realism out of simple polygons. Once each pixel is complete, it is sent to the assembly stage.

Rendering Assembly
This stage takes each pixel and determines its position in the buffer. If a pixel based on the pixels x and
y coordinates already exists, the z-buffer is compared. If the current pixel has a higher z buffer value
than the current pixel, transparency is compared. If the pixel already in the frame buffer has less than
100% opacity, than the current pixel is blended with that pixel, called alpha blending. If the current
pixel has a lower z-index value and 100% opacity, the buffer pixel is replaced, if not, the two are
blended.
Screen Output
This stage involves transferring that image in the back buffer to the front buffer so that it can be
displayed.
Pixel Information | 3D Pipeline
|