namespace UnityEngine.Rendering.Universal
{
///
/// Contains the data for general renderer settings.
///
public class UniversalRenderingData : ContextItem
{
///
/// Returns culling results that exposes handles to visible objects, lights and probes.
/// You can use this to draw objects with ScriptableRenderContext.DrawRenderers
///
///
///
public CullingResults cullResults;
///
/// True if the pipeline supports dynamic batching.
/// This settings doesn't apply when drawing shadow casters. Dynamic batching is always disabled when drawing shadow casters.
///
public bool supportsDynamicBatching;
///
/// Holds per-object data that are requested when drawing
///
///
public PerObjectData perObjectData;
///
/// The Rendering mode used by the renderer in the current frame.
/// Note that this may sometimes be different from what is set in the Renderer asset,
/// for example when the hardware not capable of deferred rendering or when doing wireframe rendering.
///
public RenderingMode renderingMode { get; internal set; }
///
/// The layer mask set on the renderer to filter prepass objects.
///
public LayerMask prepassLayerMask { get; internal set; }
///
/// The layer mask set on the renderer to filter opaque objects.
///
public LayerMask opaqueLayerMask { get; internal set; }
///
/// The layer mask set on the renderer to filter transparent objects.
///
public LayerMask transparentLayerMask { get; internal set; }
///
/// True if the Stencil Lod Cross fade is enabled.
///
public bool stencilLodCrossFadeEnabled { get; internal set; }
///
public override void Reset()
{
cullResults = default;
supportsDynamicBatching = default;
perObjectData = default;
renderingMode = default;
stencilLodCrossFadeEnabled = default;
prepassLayerMask = -1;
opaqueLayerMask = -1;
transparentLayerMask = -1;
}
}
}