The 2D screen space data is then fed into the next rank of parallel processors to perform the
scan conversion from geometric to pixel data.  The Scan Conversion subsystem walks along
the top and bottom edges of each polygon, generating spans of pixels.  A span is a matched pair
of pixels where one resides on the top edge of the polygon and the other directly below it on
the bottom edge.

The Raster Subsystem then takes the spans and iterates from top pixel to bottom pixel to find
all of the pixels in-between.  The parameters for these pixels are also iterated so that textures,
colors, and transparency can be smoothly transitioned from one pixel to the next.  Pixel
processors perform all of the texture and color interpolation functions, finally placing the
finished pixel values into the frame buffer.

Reading the digital frame buffer data, the Display Subsystem converts the digital data to
analog signals to drive display devices, sending out the component video as Red, Green, Blue,
and Alpha.


3.3 Geometry Subsystem
 

The first major section of the geometry pipeline is the Geometry Subsystem.  It is in this section
of the pipeline that vector and polygonal data is received from the application in world space
coordinates and must be transformed geometrically.  Standard object transforms include object
scaling, rotating, and translating, while later windowing and viewport transforms provide for
perspective views into the model world with a particular field of view.

After all of the viewing and other transformations are performed, the 3D vertex coordinates are
converted into 2D screen coordinates for further processing in preparation for rendering the
image into the digital frame buffer.


3.4 Scan Conversion Subsystem
 

Since all final imagery must reside in the frame buffer raster, the geometric data input into the
system must be converted from vectors and polygonal surfaces to pixel data.  The scan
conversion subsystem takes 2D vertex data as input from the Geometry Subsystem, then walks
along the edges of the vectors and polygons generating the intermediate pixels that lie along
that edge.  This is generally performed via a bresenham algorithm.

For polygons, the Scan Conversion Subsystem walks along both the top and bottom edges of
the polygon finding pairs of pixels that have the same X ordinate on the screen but different Y
ordinates.  These vertical pairs with one high and one low pixel are called spans.  The pixels on
each end of these spans have not only X and Y screen coordinates, but their original Z depths
(for the Z buffer), their Red, Green, Blue, and Alpha color and translucency, as well as texture
coordinates in S and T space.

Thus, each pixel contains the following packet of data - (X, Y, Z, R, G, B, A, S, T).  Once
generated, these spans are handed across the internal pixel bus to custom Span Processors
(SPs) in the Raster Subsystem.  The SPs are responsible for taking a span and iterating- from the
top pixel to the bottom pixel to find all of the inter-mediate pixels.