A structure specifying the parameters of an indirect draw command.
Defined in <SDL3/SDL_gpu.h>
typedef struct SDL_GPUIndirectDrawCommand
{/**< The number of vertices to draw. */
Uint32 num_vertices; /**< The number of instances to draw. */
Uint32 num_instances; /**< The index of the first vertex to draw. */
Uint32 first_vertex; /**< The ID of the first instance to draw. */
Uint32 first_instance; } SDL_GPUIndirectDrawCommand;
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.
This struct is available since SDL 3.2.0.