drawIndexedPrimitives method

void drawIndexedPrimitives(
  1. int numIndices,
  2. int numInstances,
  3. int firstIndex,
  4. int vertexOffset,
  5. int firstInstance,
)

Draws data using bound graphics state with an index buffer and instancing enabled.

You must not call this function before binding a graphics pipeline.

Note that the first_vertex and first_instance parameters are NOT compatible with built-in vertex/instance ID variables in shaders (for example, SV_VertexID); GPU APIs and shader languages do not define these built-in variables consistently, so if your shader depends on them, the only way to keep behavior consistent and portable is to always pass 0 for the correlating parameter in the draw calls.

\param render_pass a render pass handle. \param num_indices the number of indices to draw per instance. \param num_instances the number of instances to draw. \param first_index the starting index within the index buffer. \param vertex_offset value added to vertex index before indexing into the vertex buffer. \param first_instance the ID of the first instance to draw.

\since This function is available since SDL 3.2.0.

extern SDL_DECLSPEC void SDLCALL SDL_DrawGPUIndexedPrimitives( SDL_GPURenderPass *render_pass, Uint32 num_indices, Uint32 num_instances, Uint32 first_index, Sint32 vertex_offset, Uint32 first_instance)

See also:

Implementation

void drawIndexedPrimitives(
  int numIndices,
  int numInstances,
  int firstIndex,
  int vertexOffset,
  int firstInstance,
) => sdlDrawGpuIndexedPrimitives(
  this,
  numIndices,
  numInstances,
  firstIndex,
  vertexOffset,
  firstInstance,
);