using System; namespace UnityEngine.Rendering.HighDefinition { /// /// Recursive Rendering Volume Component. /// This component setups recursive rendering. /// [Serializable, VolumeComponentMenu("Ray Tracing/Recursive Rendering (Preview)")] [HelpURL(Documentation.baseURL + Documentation.version + Documentation.subURL + "Ray-Tracing-Recursive-Rendering" + Documentation.endURL)] public sealed class RecursiveRendering : VolumeComponent { /// /// Enables recursive rendering. /// [Tooltip("Enable. Enables recursive rendering.")] public BoolParameter enable = new BoolParameter(false); /// /// Layer mask used to include the objects for recursive rendering. /// [Tooltip("Layer Mask. Layer mask used to include the objects for recursive rendering.")] public LayerMaskParameter layerMask = new LayerMaskParameter(-1); /// /// Defines the maximal recursion for rays. /// [Tooltip("Max Depth. Defines the maximal recursion for rays.")] public ClampedIntParameter maxDepth = new ClampedIntParameter(4, 1, 10); /// /// This defines the maximal travel distance of rays. /// public MinFloatParameter rayLength = new MinFloatParameter(10.0f, 0.0f); /// /// Minmal smoothness for reflection rays. If the surface has a smoothness value below this threshold, a reflection ray will not be case and it will fallback on other techniques. /// [Tooltip("Minmal Smoothness for Reflection. If the surface has a smoothness value below this threshold, a reflection ray will not be case and it will fallback on other techniques.")] public ClampedFloatParameter minSmoothness = new ClampedFloatParameter(0.5f, 0.0f, 1.0f); /// /// Default constructor for the recursive rendering volume component. /// public RecursiveRendering() { displayName = "Recursive Rendering (Preview)"; } } }