DirectX SDK

D3DPRIMITIVETYPE

The D3DPRIMITIVETYPE enumerated type lists the primitives supported by DrawPrimitive methods. This type was introduced in DirectX 5.0.

typedef enum _D3DPRIMITIVETYPE { 
    D3DPT_POINTLIST     = 1, 
    D3DPT_LINELIST      = 2, 
    D3DPT_LINESTRIP     = 3, 
    D3DPT_TRIANGLELIST  = 4, 
    D3DPT_TRIANGLESTRIP = 5, 
    D3DPT_TRIANGLEFAN   = 6 
    D3DPT_FORCE_DWORD   = 0x7fffffff, 
} D3DPRIMITIVETYPE; 
D3DPT_POINTLIST
Renders the vertices as a collection of isolated points.
D3DPT_LINELIST
Renders the vertices as a list of isolated straight line segments. Calls using this primitive type fail if the count is less than 2 or is odd.
D3DPT_LINESTRIP
Renders the vertices as a single polyline. Calls using this primitive type fail if the count is less than 2.
D3DPT_TRIANGLELIST
Renders the specified vertices as a sequence of isolated triangles. Each group of three vertices defines a separate triangle. Calls using this primitive type fail if the count is less than 3 or not evenly divisible by 3.

Backface culling is affected by the current winding-order render state.

D3DPT_TRIANGLESTRIP
Renders the vertices as a triangle strip. Calls using this primitive type fail if the count is less than 3. The backface-culling flag is automatically flipped on even-numbered triangles.
D3DPT_TRIANGLEFAN
Renders the vertices as a triangle fan. Calls using this primitive type fail if the count is less than 3.
D3DPT_FORCE_DWORD
Forces this enumeration to compile to 32 bits in size. This value is not used.

Remarks

Using triangle strips or fans is often more efficient than using triangle lists because fewer vertices are duplicated. For more information, see Triangle Strips and Triangle Fans.

Requirements

  Windows NT/2000: Requires Windows NT 4.0 SP3 or later.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Windows CE: Unsupported.
  Version: Requires DirectX 2.0 or later.
  Header: Declared in d3dtypes.h.

See Also

IDirect3DDevice7::DrawIndexedPrimitive, IDirect3DDevice7::DrawIndexedPrimitiveStrided, IDirect3DDevice7::DrawIndexedPrimitiveVB, IDirect3DDevice7::DrawPrimitive, IDirect3DDevice7::DrawPrimitiveStrided, IDirect3DDevice7::DrawPrimitiveVB, Primitive Types