ID3D11DeviceContext::DrawIndexedInstanced method (d3d11.h)

Draw indexed, instanced primitives.

Syntax

void DrawIndexedInstanced(
  UINT IndexCountPerInstance,
  UINT InstanceCount,
  UINT StartIndexLocation,
  INT  BaseVertexLocation,
  UINT StartInstanceLocation
);

Parameters

IndexCountPerInstance

Type: UINT

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

InstanceCount

Type: UINT

Number of instances to draw.

StartIndexLocation

Type: UINT

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

BaseVertexLocation

Type: INT

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

StartInstanceLocation

Type: UINT

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

Return value

None

Remarks

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.

Requirements

   
Target Platform Windows
Header d3d11.h
Library D3D11.lib

See also

ID3D11DeviceContext