The system interpolates the characteristics of a triangle's vertices across the triangle when it renders a face. These are the triangle interpolants:
·Color
·Specular
·Fog
·Alpha
All of the triangle interpolants are modified by the current shade mode:
Flat | No interpolation is done. Instead, the color of the first vertex in the triangle is applied across the entire face. |
Gouraud | Linear interpolation is performed between all three vertices. |
Phong | Vertex parameters are reevaluated for each pixel in the face, using the current lighting. The Phong shade mode is not currently supported. |
The color and specular interpolants are treated differently, depending on the color model. In the RGB color model (D3DCOLOR_RGB), the system uses the red, green, and blue color components in the interpolation. In the monochromatic or "ramp" model (D3DCOLOR_MONO), the system uses only the blue component of the vertex color.
For example, if the red component of the color of vertex 1 were 0.8 and the red component of vertex 2 were 0.4, in the Gouraud shade mode and RGB color model the system would use interpolation to assign a red component of 0.6 to the pixel at the midpoint of the line between these vertices.
The alpha component of a color is treated as a separate interpolant because device drivers can implement transparency in two different ways: by using texture blending or by using stippling.
An application can use the dwShadeCaps member of the D3DPRIMCAPS structure to determine what forms of interpolation the current device driver supports.