Intel 815 Manuel D’Utilisation

Page de 423
 
 
Intel® 815 Chipset: Graphics Controller PRM, Rev 1.0 
R
 
 
 
  
205 
13.  Rendering Engine Instructions 
This chapter describes the 3D instructions and motion compensation instruction that controls the 
Graphics controller (GC) rendering engine. The GC Rendering Engine shall receive all software driver 
instructions through the instruction interface (ring buffers).  
13.1. GFXPRIMITIVE 
This instruction performs most of the rendering operations performed by the GC. Triangle and Triangle 
lists are rendered using this instruction. Triangle strips and fans reduce the number of vertices which 
must be delivered to the hardware for adjacent triangles and are also supported by this instruction. Lines 
and Line Lists continue to be supported. The GC also supports the rendering of axis aligned rectangles. 
The vertices of these primitives are may be of variable length. For example, one call to GFXPRIMITIVE 
may include only the X, Y values at the vertices, while another call may specify all 44 bytes of attribute 
information at each vertex. The following sections consider these primitives in detail. 
Figure 30. 
Rectangle Vertices 
V
0
V
1
V
2
 
The GC shall support both D3D* and OGL notations. The selection can be done in the 
GFXRENDERSTATE_RASTER_RULE state variable. 
13.1.1.  Axis Aligned Rectangles  
Axis aligned rectangles are described by three vertices as shown in the adjacent figure. The vertices 
should always describe a right triangle where the base of the triangle is parallel to the x-axis and the 
vertical leg of the triangle is parallel to the y-axis.  
13.1.2.  Primitive Winding Order 
The winding order of the vertices is considered if Primitive Culling is enabled. In the example above the 
winding order is clock-wise. In triangle strip, the winding order toggles on every triangle (e.g., CW, 
CCW, CW, CCW and so on). Therefore, hardware toggles the culling orientation on every triangle to 
match up with the strip sequence. If the primitive type is triangle strip, culling orientation is toggled on 
the 2
nd
, 4
th
, 6
th
 triangle and so on. If the primitive type is triangle strip with reverse winding order, culling 
orientation is toggled on the 1
st
, 3
rd
, 5
th
 triangles and so on.