DrawIndexedPrimitive2 routine

The DrawIndexedPrimitive2 function draws indexed primitives that the Microsoft Direct3D runtime has transformed the index data in.



__checkReturn HRESULT APIENTRY DrawIndexedPrimitive2(
  _In_           HANDLE                          hDevice,
  _In_           UINT                            dwIndicesSize,
  _In_     const VOID                            *pIndexBuffer,
  _In_opt_ const UINT                            *pFlagBuffer
{ ... }


hDevice [in]

A handle to the display device (graphics context).

pData [in]

A pointer to a D3DDDIARG_DRAWINDEXEDPRIMITIVE2 structure that describes the primitive to draw.

dwIndicesSize [in]

The size, in bytes, of indexes in the buffer that pIndexBuffer points to. This size is 2 or 4 bytes.

pIndexBuffer [in]

A pointer to a buffer of index data to be drawn.

pFlagBuffer [in, optional]

A pointer to a 32-bit value that contains triangle-edge flags, which are used only during line-fill mode. The first three bits (0/1/2) of the 32-bit value specify how the three edges of the corresponding triangle are rendered. If a bit is set to 1, its associated triangle edge is rendered; otherwise, the edge is not rendered.

If the pointer is NULL, the user-mode display driver should use its fast path to draw primitives.

Return value

DrawIndexedPrimitive2 returns S_OK or an appropriate error result if the primitive is not successfully drawn.


Stream zero contains transform indices and is the only stream that should be accessed.

When the Microsoft Direct3D runtime specifies triangle-edge flags in the value that the pFlagBuffer parameter points to, the runtime also specifies to draw only one triangle (that is, the runtime specifies the D3DPT_TRIANGLELIST value in the PrimitiveType member and 0x00000001 in the PrimitiveCount member of the D3DDDIARG_DRAWINDEXEDPRIMITIVE2 structure that the pData parameter points to).


Target platform


Available in Windows Vista and later versions of the Windows operating systems.


D3dumddi.h (include D3dumddi.h)

See also




Send comments about this topic to Microsoft