ID3D11DeviceContext::DrawInstanced method (d3d11.h)

Draw non-indexed, instanced primitives.


void DrawInstanced(
  [in] UINT VertexCountPerInstance,
  [in] UINT InstanceCount,
  [in] UINT StartVertexLocation,
  [in] UINT StartInstanceLocation


[in] VertexCountPerInstance

Type: UINT

Number of vertices to draw.

[in] InstanceCount

Type: UINT

Number of instances to draw.

[in] StartVertexLocation

Type: UINT

Index of the first vertex.

[in] StartInstanceLocation

Type: UINT

A value added to each index before reading per-instance data from a vertex buffer.

Return value



A draw API submits work to the rendering pipeline.

Instancing may extend performance by reusing the same geometry to draw multiple objects in a scene. One example of instancing could be to draw the same object with different positions and colors.

The vertex data for an instanced draw call normally comes from a vertex buffer that is bound to the pipeline. However, you could also provide the vertex data from a shader that has instanced data identified with a system-value semantic (SV_InstanceID).


Requirement Value
Target Platform Windows
Header d3d11.h
Library D3D11.lib

See also