Datasheet
Functional Description
R
188 Datasheet
The frame buffer of the GMCH contains at least two hardware buffers, the Front Buffer (display
buffer) and the Back Buffer (rendering buffer). While the back buffer may actually coincide with
(or be part of) the visible display surface, a separate (screen or window-sized) back buffer is
typically used to permit double-buffered drawing. That is, the image being drawn is not visible
until the scene is complete and the back buffer made visible or copied to the front buffer via a 2D
BLT operation. Rendering to one buffer and displaying from the other buffer removes image
tearing artifacts. Additionally, more than two back buffers (e.g., triple-buffering) can be
supported.
5.4.3.8 Depth Buffer
The Raster Engine is able to read and write from this buffer and use the data in per fragment
operations that determine resultant color and depth value of the pixel for the fragment are to be
updated or not.
Typical applications for entertainment or visual simulations with exterior scenes require far/near
ratios of 1000 to 10000. At 1000, 98% of the range is spent on the first 2% of the depth. This can
cause hidden surface artifacts in distant objects, especially when using 16-bit depth buffers. A 24-
bit Z-buffer provides 16 million Z Values as opposed to only 64 k with a 16-bit Z-buffer. With
lower Z-resolution, two distant overlapping objects may be assigned the same Z Value. As a
result, the rendering hardware may have a problem resolving the order of the objects, and the
object in the back may appear through the object in the front.
By contrast, when w (or eye-relative z) is used, the buffer bits can be more evenly allocated
between the near and far clip planes in world space. The key benefit is that the ratio of far and
near is no longer an issue, and allows applications to support a maximum range of miles, yet still
get reasonably accurate depth buffering within inches of the eye point. The selection of depth
buffer size is relatively independent of the color buffer. A 16-bit Z/W or 24-bit Z/W buffer can be
selected with a 16-bit color buffer. Z buffer is not supported in 8-bit mode.
5.4.3.9 Stencil Buffer
The Raster engine provides 8-bit stencil buffer storage in 32-bit mode and the ability to perform
stencil testing. Stencil testing controls 3D drawing on a per pixel basis and conditionally
eliminates a pixel on the outcome of a comparison between a stencil reference value and the value
in the stencil buffer at the location of the source pixel being processed. They are typically used in
multipass algorithms to achieve special effects, such as decals, outlining, shadows, and
constructive solid geometry rendering.
One of three possible stencil operations is performed when stencil testing is enabled. The stencil
operation specifies how the stencil buffer is modified when a fragment passes or fails the stencil
test. The selection of the stencil operation to be performed is based upon the result of the stencil
test and the depth test. A stencil write mask is also included that controls the writing of particular
bits into the stencil buffer. It selects between the destination value and the updated value on a per-
bit basis. The mask is 8-bit wide.
5.4.3.10 Projective Textures
The GMCH supports two simultaneous projective textures at full rate processing. These textures
require three floating-point texture coordinates to be included in the FVF format. Projective
textures enable special effects such as projecting spot light textures obliquely onto walls, etc.