Microsoft DirectX 8.1 (C++)

IDirect3DDevice8::DrawPrimitive

Renders a sequence of nonindexed, geometric primitives of the specified type from the current set of data input streams.

HRESULT DrawPrimitive(
  D3DPRIMITIVETYPE PrimitiveType,
  UINT StartVertex,
  UINT PrimitiveCount
);

Parameters

PrimitiveType
[in] Member of the D3DPRIMITIVETYPE enumerated type, describing the type of primitive to render.
StartVertex
[in] Index of the first vertex to load. Beginning at StartVertex, the correct number of vertices will be read out of the vertex buffer.
PrimitiveCount
[in] Number of primitives to render. The maximum number of primitives allowed is determined by checking the MaxPrimitiveCount member of the D3DCAPS8 structure. PrimitiveCount is the number of primitives as determined by the primitive type. If it is a line list, each primitive has two vertices. If it is a triangle list, each primitive has three vertices.

Return Values

If the method succeeds, the return value is D3D_OK.

If the method fails, the return value can be D3DERR_INVALIDCALL.

Remarks

DrawPrimitive should not be called with a single triangle at a time.

When converting a fixed function legacy application to Microsoft® DirectX® 8, you must add a call to IDirect3DDevice8::SetVertexShader before you make any calls to DrawPrimitive. Supply SetVertexShader with the fixed function flag to tell the pipeline that the application is fixed function.

Requirements

  Header: Declared in D3d8.h.
  Import Library: Use D3d8.lib.

See Also

IDirect3DDevice8::DrawIndexedPrimitive, IDirect3DDevice8::SetStreamSource, Rendering Primitives