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 when cullResults was reused from a previous pass.
// Consumers should avoid mutating the culling state.
internal bool reuseCullingResult;
///
/// 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.
///
[System.Obsolete("supportsDynamicBatching is obsolete.", true)]
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; }
#if URP_SCREEN_SPACE_REFLECTION
///
/// True if per-pixel smoothness should be written to the alpha channel of the CameraDepthNormals texture, if it exists.
/// Used for screen space reflections.
///
public bool writesSmoothnessToDepthNormalsAlpha { get; internal set; }
#endif
///
public override void Reset()
{
cullResults = default;
reuseCullingResult = default;
perObjectData = default;
renderingMode = default;
stencilLodCrossFadeEnabled = default;
prepassLayerMask = -1;
opaqueLayerMask = -1;
transparentLayerMask = -1;
#if URP_SCREEN_SPACE_REFLECTION
writesSmoothnessToDepthNormalsAlpha = false;
#endif
}
}
}