IDirect3DDevice2::DrawPrimitive

The IDirect3DDevice2::DrawPrimitive method renders the specified array of vertices as a sequence of geometric primitives of the specified type.

HRESULT DrawPrimitive(

D3DPRIMITIVETYPE dptPrimitiveType,

D3DVERTEXTYPE dvtVertexType,

LPVOID lpvVertices,

DWORD dwVertexCount,

DWORD dwFlags

);

Parameters

dptPrimitiveType

Type of primitive to be rendered by this command. This must be one of the members of the D3DPRIMITIVETYPE enumerated type.

dvtVertexType

Indicates the types of the vertices used. This must be one of the members of the D3DVERTEXTYPE enumerated type.

lpvVertices

Pointer to the array of vertices to be used in the primitive sequence.

dwVertexCount

Defines the number of vertices in the array.

dwFlags

One or more of the following flags defining how the primitive is drawn:

D3DDP_DONOTCLIP The application has already done the required clipping, so the system should not necessarily clip the primitives. (This flag is a hint; the system may clip the primitive even when this flag is specified, under some circumstances.)
D3DDP_DONOTUPDATEEXTENTS Disables the updating of the screen rectangle affected by this rendering call. Using this flag can potentially help performance, but the extents returned by IDirect3DDevice2::GetClipStatus will not have been updated to account for the data rendered by this call.
D3DDP_OUTOFORDER A hint to the system that the primitives can be rendered out of order. Note that back-to-back calls to DrawPrimitive methods using this flag may cause triangles from the primitives to be interleaved. The DrawPrimitive methods that use this flag are Begin, BeginIndexed, DrawIndexedPrimitive, and DrawPrimitive.
D3DDP_WAIT Causes the method to wait until the polygons have been rendered before it returns, instead of returning as soon as the polygons have been sent to the card. (On scene-capture cards, the method returns as soon as the card responds.)

This flag is typically used for debugging. Applications should not attempt to use this flag to ensure that a scene is up-to-date before continuing.


Return Values

If the method succeeds, the return value is DD_OK.

If the method fails, the return value may be one of the following values:

D3DERR_INVALIDRAMPTEXTURE Ramp mode is being used and the texture handle in the current material does not match the current texture handle that is set as a render state.
DDERR_INVALIDPARAMS One of the arguments is invalid.

Remarks

This method was introduced with the IDirect3DDevice2 interface.

QuickInfo

  Windows NT: Use version 5.0 or later.
  Windows: Use Windows 95 or later. Available as a redistributable for Windows 95.
  Windows CE: Unsupported.
  Header: Declared in d3d.h.
  Import Library: Use ddraw.lib.

See Also

IDirect3DDevice2::DrawIndexedPrimitive