Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


BatchDrawCommandProceduralIndirect

Represents a procedural indirect draw command for a BatchRendererGroup.
Read time 1 minuteLast updated 4 days ago

Definition

public struct BatchDrawCommandProceduralIndirect

Remarks

This type of draw command has a reference to a material, but all vertex data is fetched procedurally by the shader. The actual draw data to be used is passed by the GPU in the buffer set up as the BatchDrawCommandProceduralIndirect.indirectArgsBufferHandle.

Fields

Value

Description

batchIDThe batch ID that this draw command uses. Determines the metadata values that are available to a shader.
flagsSpecifies rendering options for the draw command.
indexBufferHandleHandle of an index buffer to use for indexed drawing.
indirectArgsBufferHandleGraphicsBufferHandle of the GraphicsBuffer from which the indirect draw command will be read.
indirectArgsBufferOffsetOffset in bytes from which the indirect draw command will be read.
lightmapIndexThe index of the baked lightmap used in this draw command. If lightmap texture arrays are enabled, this value is always -1 (0xFFFF).
materialIDIdentifies which Material to use to render the instances in this draw command.
sortingPositionTogether with BatchDrawCommand.flags, this specifies how to depth sort the instances in this draw command.
splitVisibilityMaskIndicates which splits that the draw command is visible in.
topologyThe primitive topology to use when executing the draw command.
visibleInstancesBufferHandleHandle of the GraphicsBuffer from which the draw command will read visible instance index.
visibleInstancesBufferWindowOffsetOffset of the visible instances buffer that will be bound as element zero.
visibleInstancesBufferWindowSizeBytesAmount of data in the buffer to be bound, starting from the visibleInstancesBufferWindowOffset value.
visibleOffsetThe index of the element in BatchCullingOutputDrawCommands.visibleInstances that matches the first instance in this draw command.