ID3D11DeviceContext::DrawIndexedInstanced method (d3d11.h)

Draw indexed, instanced primitives.


void DrawIndexedInstanced(
  [in] UINT IndexCountPerInstance,
  [in] UINT InstanceCount,
  [in] UINT StartIndexLocation,
  [in] INT  BaseVertexLocation,
  [in] UINT StartInstanceLocation


[in] IndexCountPerInstance

Type: UINT

Number of indices read from the index buffer for each instance.

[in] InstanceCount

Type: UINT

Number of instances to draw.

[in] StartIndexLocation

Type: UINT

The location of the first index read by the GPU from the index buffer.

[in] BaseVertexLocation

Type: INT

A value added to each index before reading a vertex from the vertex buffer.

[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. Instancing requires multiple vertex buffers: at least one for per-vertex data and a second buffer for per-instance data.

The second buffer is needed only if the input layout that you use has elements that use D3D11_INPUT_PER_INSTANCE_DATA as the input element classification buffer for per-instance data.


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

See also