Functional Description

6.4.23D Engine

The 3D engine of the GMCH has been designed with a deeply pipelined architecture, where performance is maximized by allowing each stage of the pipeline to simultaneously operate on different primitives or portions of the same primitive. The GMCH supports the following:

Perspective-corrected Texture mapping

Multitexturing

Embossed and Dot-Product Bump mapping

Cubic Environment Maps

Bilinear, Trilinear, and Anisotropic MIP map filtering

Gouraud shading and Flat shading

Alpha-blending

Per-Vertex and per- pixel fog

Z/W buffering

These features are independently controlled via a set of 3D instructions. The 3D pipeline subsystem performs the 3D rendering acceleration. The main blocks of the pipeline are the Setup Engine, Scan Converter, Texture Pipeline, and Raster Pipeline. A typical programming sequence would be to send instructions to set the state of the pipeline followed by rendering instructions containing 3D primitive vertex data.

6.4.2.1Setup Engine

The GMCH 3D setup engine takes the input data associated with each vertex of a 3D primitive and computes the various parameters required for scan conversion. In formatting this data, the GMCH maintains sub-pixel accuracy. The per-vertex data is converted into gradients that can be used to interpolate the data at any pixel within a polygon (colors, alpha, Z or W depth, fog, and texture coordinates). The pixels covered by a polygon are identified and per-pixel texture addresses are calculated.

6.4.2.2Viewport Transform and Perspective Divide

A 3D-geometry pipeline typically involves transformation of vertices from model space to clipping space followed by clip test and clipping. Lighting can be performed during the transformation or at any other point in the pipeline. After clipping, the next stage involves perspective divide followed by transformation to the viewport or screen space. The GMCH can support viewport transform and perspective divide portion of the 3D geometry pipeline in hardware.

6.4.2.33D Primitives and Data Formats Support

The 3D primitives rendered by the GMCH are points, lines, discrete triangles, line strips, triangle strips, triangle fans, and polygons. In addition to this, the GMCH supports DirectX's* Flexible Vertex Format* (FVF), which enables the application to specify a variable length parameter list, obviating the need for sending unused information to the hardware. Strips, Fans, and Indexed Vertices as well as FVF improves delivered vertex rate to the setup engine significantly.

6.4.2.4Pixel Accurate Fast Scissoring and Clipping Operation

The GMCH supports clipping to a scissoring rectangle within the drawing window. The GMCH clipping and scissoring in hardware reduce the need for software to process polygons, and thus improves performance. During the setup stage, the GMCH clips polygons to the drawing window.

D15343-003

127

Page 127
Image 127
Intel D15343-003 manual 2 3D Engine, Setup Engine, Viewport Transform and Perspective Divide