sdlDrawGpuIndexedPrimitives function

void sdlDrawGpuIndexedPrimitives(
  1. Pointer<SdlGpuRenderPass> renderPass,
  2. int numIndices,
  3. int numInstances,
  4. int firstIndex,
  5. int vertexOffset,
  6. 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). If your shader depends on these variables, the correlating draw call parameter MUST be 0.

\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.1.3.

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)

Implementation

void sdlDrawGpuIndexedPrimitives(
    Pointer<SdlGpuRenderPass> renderPass,
    int numIndices,
    int numInstances,
    int firstIndex,
    int vertexOffset,
    int firstInstance) {
  final sdlDrawGpuIndexedPrimitivesLookupFunction = libSdl3.lookupFunction<
      Void Function(
          Pointer<SdlGpuRenderPass> renderPass,
          Uint32 numIndices,
          Uint32 numInstances,
          Uint32 firstIndex,
          Int32 vertexOffset,
          Uint32 firstInstance),
      void Function(
          Pointer<SdlGpuRenderPass> renderPass,
          int numIndices,
          int numInstances,
          int firstIndex,
          int vertexOffset,
          int firstInstance)>('SDL_DrawGPUIndexedPrimitives');
  return sdlDrawGpuIndexedPrimitivesLookupFunction(renderPass, numIndices,
      numInstances, firstIndex, vertexOffset, firstInstance);
}