# RayTracingInstanceCullingTest

> A testing configuration used in RayTracingAccelerationStructure.CullInstances for adding Renderers to an acceleration structure based on their layer, ShadowCastingMode and Material type.

## Definition

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

```csharp
public struct RayTracingInstanceCullingTest
```

## Remarks

Typically, each ray tracing effect can use a dedicated [RayTracingInstanceCullingTest](/engine/6000.0/script-reference/unityengine/rendering/raytracinginstancecullingtest.md) configuration.

If the test passes, the value of instanceMask will be ORed into a final 8-bit ray tracing instance mask. When casting rays on the GPU using *TraceRay* HLSL function, the *instanceInclusionMask* argument of *TraceRay* is ANDed with the final 8-bit instance mask to include or reject ray tracing instances during acceleration structure traversal.

Additional Resources: [RayTracingAccelerationStructure](/engine/6000.0/script-reference/unityengine/rendering/raytracingaccelerationstructure.md).

## Fields

| Value                                                                                                                                         | Description                                                                                                                                                                      |
| --------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [allowAlphaTestedMaterials](/engine/6000.0/script-reference/unityengine/rendering/raytracinginstancecullingtest/allowalphatestedmaterials.md) | Whether to allow Renderers that use alpha tested Materials.                                                                                                                      |
| [allowOpaqueMaterials](/engine/6000.0/script-reference/unityengine/rendering/raytracinginstancecullingtest/allowopaquematerials.md)           | Whether to allow Renderers that use opaque Materials.                                                                                                                            |
| [allowTransparentMaterials](/engine/6000.0/script-reference/unityengine/rendering/raytracinginstancecullingtest/allowtransparentmaterials.md) | Whether to allow Renderers that use transparent Materials.                                                                                                                       |
| [allowVisualEffects](/engine/6000.0/script-reference/unityengine/rendering/raytracinginstancecullingtest/allowvisualeffects.md)               | Whether to allow VFXRenderers.                                                                                                                                                   |
| [instanceMask](/engine/6000.0/script-reference/unityengine/rendering/raytracinginstancecullingtest/instancemask.md)                           | An instance mask which affects ray-instance masking during ray tracing on the GPU.                                                                                               |
| [layerMask](/engine/6000.0/script-reference/unityengine/rendering/raytracinginstancecullingtest/layermask.md)                                 | A value that indicates which layers are accepted by this testing configuration.                                                                                                  |
| [shadowCastingModeMask](/engine/6000.0/script-reference/unityengine/rendering/raytracinginstancecullingtest/shadowcastingmodemask.md)         | A value that indicates which [ShadowCastingMode](/engine/6000.0/script-reference/unityengine/rendering/shadowcastingmode.md) values are acccepted by this testing configuration. |
