# BatchDrawCommandProcedural

> Represents a procedural draw command for a BatchRendererGroup.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.Rendering](/engine/6000.7/script-reference/unityengine/rendering.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public struct BatchDrawCommandProcedural
```

## Remarks

This type of draw command has a reference to a material, but all vertex data is fetched procedurally by the shader.

## Fields

| Value                                                                                                                          | Description                                                                                                                                                                                                                                   |
| ------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [baseVertex](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/basevertex.md)                   | Base vertex                                                                                                                                                                                                                                   |
| [batchID](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/batchid.md)                         | The batch ID that this draw command uses. Determines the metadata values that are available to a shader.                                                                                                                                      |
| [elementCount](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/elementcount.md)               | Number of elements (indices or vertices) to draw                                                                                                                                                                                              |
| [flags](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/flags.md)                             | Specifies rendering options for the draw command.                                                                                                                                                                                             |
| [indexBufferHandle](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/indexbufferhandle.md)     | Handle of an index buffer to use for indexed drawing.                                                                                                                                                                                         |
| [indexOffsetBytes](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/indexoffsetbytes.md)       | Offset into the index buffer where indices will be read from, when issuing indexed draws.                                                                                                                                                     |
| [lightmapIndex](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/lightmapindex.md)             | The index of the baked lightmap used in this draw command. If lightmap texture arrays are enabled, this value is always -1 (0xFFFF).                                                                                                          |
| [materialID](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/materialid.md)                   | Identifies which [Material](/engine/6000.7/script-reference/unityengine/material.md) to use to render the instances in this draw command.                                                                                                     |
| [sortingPosition](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/sortingposition.md)         | Together with [BatchDrawCommand.flags](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommand/flags.md), this specifies how to depth sort the instances in this draw command.                                                 |
| [splitVisibilityMask](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/splitvisibilitymask.md) | Indicates which splits that the draw command is visible in.                                                                                                                                                                                   |
| [topology](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/topology.md)                       | The primitive topology to use when executing the draw command.                                                                                                                                                                                |
| [visibleCount](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/visiblecount.md)               | The number of instances to draw with this draw command. This must be a value greater than `1`.                                                                                                                                                |
| [visibleOffset](/engine/6000.7/script-reference/unityengine/rendering/batchdrawcommandprocedural/visibleoffset.md)             | The index of the element in [BatchCullingOutputDrawCommands.visibleInstances](/engine/6000.7/script-reference/unityengine/rendering/batchcullingoutputdrawcommands/visibleinstances.md) that matches the first instance in this draw command. |
