# BatchCullingContext

> Culling context for a batch.

## Definition

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

```csharp
public struct BatchCullingContext
```

## Remarks

Specifies the data required to perform culling. Additional Resources: [BatchRendererGroup.OnPerformCulling](/engine/6000.0/script-reference/unityengine/rendering/batchrenderergroup/onperformculling.md).

## Fields

| Value                                                                                                                   | Description                                                                                                                                                                                                                                                                            |
| ----------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [cullingFlags](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/cullingflags.md)               | Additional culling information for the current context.                                                                                                                                                                                                                                |
| [cullingLayerMask](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/cullinglayermask.md)       | The `cullingLayerMask` value of the object from which the culling is invoked. The draw command is discarded by the internal culling if the expression `(1 << layer) & cullingLayerMask` is false. Using this field is optional, use it for performance or other optimization purposes. |
| [cullingPlanes](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/cullingplanes.md)             | Planes to cull against.                                                                                                                                                                                                                                                                |
| [cullingSplits](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/cullingsplits.md)             | The array of [CullingSplit](/engine/6000.0/script-reference/unityengine/rendering/cullingsplit.md) structs.                                                                                                                                                                            |
| [localToWorldMatrix](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/localtoworldmatrix.md)   | Local to world matrix.                                                                                                                                                                                                                                                                 |
| [lodParameters](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/lodparameters.md)             | Additional Resources: [LODParameters](/engine/6000.0/script-reference/unityengine/rendering/lodparameters.md).                                                                                                                                                                         |
| [projectionType](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/projectiontype.md)           | The projection of the view from which the culling is invoked. Usage example: take different culling paths for orthographic vs perspective views.                                                                                                                                       |
| [receiverPlaneCount](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/receiverplanecount.md)   | The number of receiver planes.                                                                                                                                                                                                                                                         |
| [receiverPlaneOffset](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/receiverplaneoffset.md) | The index of the first receiver plane in the [BatchCullingContext.cullingPlanes](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/cullingplanes.md) array.                                                                                                    |
| [sceneCullingMask](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/scenecullingmask.md)       | Use this bit mask to discard the draw commands in a particular context. A draw command is not discarded if the expression `(1 << layer) & sceneCullingMask` is true. This field is typically used when rendering Editor previews.                                                      |
| [splitExclusionMask](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/splitexclusionmask.md)   | A bitmask that represents the [BatchCullingContext.cullingSplits](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/cullingsplits.md) Unity ignores in a [BatchDrawCommand](/engine/6000.0/script-reference/unityengine/rendering/batchdrawcommand.md) struct. |
| [viewID](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/viewid.md)                           | The ID of the object from which the culling is invoked. Usage example: store culling-related data for each object.                                                                                                                                                                     |
| [viewType](/engine/6000.0/script-reference/unityengine/rendering/batchcullingcontext/viewtype.md)                       | The type of the view from which the culling is invoked. Usage examples: skip culling, take different culling paths depending on the view type, etc.                                                                                                                                    |
