Functional Description
D15343-003 129
6.4.2.10 Texture Chromakey
Chromakey is a method for removing a specific color or range of colors from a texture map before
it is applied to an object. For nearest texture filter modes, removing a color simply makes those
portions of the object transparent (the previous contents of the back buffer show through). For
linear texture filtering modes, the texture filter is modified if only the non-nearest neighbor texels
match the key (range).
Chromakeying can be performed for both paletted and non-paletted textures, and removes texels
that fall within a specified color range. The Chromakey mode refers to testing the ARGB or YUV
components to see if they fall between high and low state variable values. If the color of a texel
contribution is in this range and chromakey is enabled, then this contribution is removed from the
resulting pixel color.
6.4.2.11 Anti-Aliasing
Aliasing is one of the artifacts that degrade image quality. In its simplest manifestation, aliasing
causes the jagged staircase effects on sloped lines and polygon edges. Another artifact is the moiré
patterns, which occur as a result of the fact that there is very small number of pixels available on
screen to contain the data of a high-resolution texture map.
Full scene anti-aliasing uses super-sampling, which means that the image is rendered internally at a
higher resolution than it is displayed on screen. The GMCH renders internally at 1600x1200, reads
the image as a texture, and finally down-samples (via a Bilinear filter) to the screen resolution of
640x480 and 800x600. Full scene anti-aliasing removes jaggies at the edges.
6.4.2.12 Texture Map Filtering
Many texture-mapping modes are supported. Perspective correct mapping is always performed.
As the map is fitted across the polygon, the map can be tiled, mirrored in either the U or V
directions, or mapped up to the end of the texture and no longer placed on the object (this is known
as clamp mode). The way a texture is combined with other object attributes is also definable.
The GMCH supports up to 12 Levels-of-Detail (LODs) ranging in size from 2048x2048 to 1x1
texels. (A texel is defined as a texture map element.) Included in the texture processor is a texture
cache, which provides efficient MIP-mapping.
The GMCH supports seven types of texture filtering:
• Nearest (also known as Point filtering): Texel with coordinates nearest to the desired pixel is
used. (This is used if only one LOD is present.)
• Linear (also known as Bilinear filtering): A weighted average of a 2x2 area of texels
surrounding the desired pixel is used. (This is used if only one LOD is present.)
• Nearest MIP Nearest (also known as Point filtering): This is used if many LODs are present.
The nearest LOD is chosen and the texel with coordinates nearest to the desired pixel are used.
• Linear MIP Nearest (Bilinear MIP mapping): This is used if many LODs are present. The
nearest LOD is chosen and a weighted average of a 2x2 area of texels surrounding the desired
pixel is used (four texels). This is also referred to as Bilinear MIP Mapping.
• Nearest MIP Linear (Point MIP mapping): This is used if many LODs are present. Two
appropriate LODs are selected and within each LOD the texel with coordinates nearest to the
desired pixel are selected. The Final texture value is generated by linear interpolation between
the two texels selected from each of the MIP Maps.
• Linear MIP Linear (Trilinear MIP mapping): This is used if many LODs are present. Two
appropriate LODs are selected and a weighted average of a 2x2 area of texels surrounding the
desired pixel in each MIP Map is generated (four texels per MIP Map). The Final texture
value is generated by linear interpolation between the two texels generated for each of the MIP