Datasheet

Functional Description
R
Datasheet 187
5.4.3.4 Color Dithering
Color Dithering in the GMCH helps to hide color quantization errors for 16-bit color buffers.
Color Dithering takes advantage of the human eye’s propensity to “average” the colors in a small
area. Input color, alpha, and fog components are converted from 8-bit components to 5-bit or 6-bit
component by dithering. Dithering is performed on blended textured pixels. In 32-bit mode,
dithering is not performed.
5.4.3.5 Vertex and Per Pixel Fogging
Fogging is used to create atmospheric effects such as low visibility conditions in flight simulator-
type games. It adds another level of realism to computer-generated scenes. Fog can be used for
depth cueing or hiding distant objects. With fog, distant objects can be rendered with fewer
details (less polygons), thereby improving the rendering speed or frame rate. Fog is simulated by
attenuating the color of an object with the fog color as a function of distance, and the greater the
distance, the higher the density (lower visibility for distant objects). There are two ways to
implement the fogging technique: per Vertex (linear) fogging and per-pixel (non-linear) fogging.
The per Vertex method interpolates the fog value at the vertices of a polygon to determine the fog
factor at each pixel within the polygon. This method provides realistic fogging as long as the
polygons are small. With large polygons (such as a ground plane depicting an airport runway), the
per Vertex technique results in unnatural fogging.
The GMCH supports both types of fog operations, vertex and per pixel or table fog. If fog is
disabled, the incoming color intensities are passed unchanged to the destination blend unit. If fog
is enabled, the incoming pixel color is blended with the fog color based on a fog coefficient on a
per pixel basis using the following equation before sending to the destination blend unit.
5.4.3.6 Alpha Blending
Alpha Blending in the GMCH adds the material property of transparency or opacity to an object.
Alpha blending combines a source pixel color and alpha component with a destination pixel color
and alpha component. For example, a glass surface on top (source) of a red surface (destination)
would allow much of the red base color to show through.
Blending allows the source and destination color values to be multiplied by programmable factors
and then combined via a programmable blend function. The combined and independent selection
of factors and blend functions for color and alpha is supported.
5.4.3.7 Color Buffer Formats: (Destination Alpha)
The Raster Engine supports 8-bit, 16-bit, and 32-bit Color Buffer Formats. The 8-bit format is
used to support planar YUV420 format, which is used only in Motion Compensation and
Arithmetic Stretch format. The bit format of Color and Z is allowed to mix.
The GMCH can support an 8-bit destination alpha in 32-bit mode. Destination alpha is supported
in 16-bit mode in 1555 or 4444 format. The GMCH does not support general 3D rendering to 8-
bit surfaces. 8-bit destinations are supported for operations on planar YUV surfaces (e.g., stretch
Blts) where each 8-bit color component is written in a separate pass. The GMCH also supports a
mode where both U and V planar surfaces can be operated on simultaneously.