sdlDrawGpuIndexedPrimitives function gpu

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); 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)

Implementation

void sdlDrawGpuIndexedPrimitives(
  Pointer<SdlGpuRenderPass> renderPass,
  int numIndices,
  int numInstances,
  int firstIndex,
  int vertexOffset,
  int firstInstance,
) {
  final sdlDrawGpuIndexedPrimitivesLookupFunction = _libSdl
      .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,
  );
}