using System; using System.Diagnostics; namespace UnityEngine.Rendering.HighDefinition { /// /// Visual Environment Volume Component. /// This component setups the sky used for rendering as well as the way ambient probe should be computed. /// [Serializable, VolumeComponentMenu("Visual Environment")] [HelpURL(Documentation.baseURL + Documentation.version + Documentation.subURL + "Override-Visual-Environment" + Documentation.endURL)] public sealed class VisualEnvironment : VolumeComponent { /// Type of sky that should be used for rendering. public NoInterpIntParameter skyType = new NoInterpIntParameter(0); /// Defines the way the ambient probe should be computed. public SkyAmbientModeParameter skyAmbientMode = new SkyAmbientModeParameter(SkyAmbientMode.Static); // Deprecated, kept for migration [SerializeField] internal FogTypeParameter fogType = new FogTypeParameter(FogType.None); } /// /// Informative enumeration containing SkyUniqeIDs already used by HDRP. /// When users write their own sky type, they can use any ID not present in this enumeration or in their project. /// public enum SkyType { /// HDRI Sky Unique ID. HDRI = 1, /// Procedural Sky Unique ID. Procedural = 2, /// Gradient Sky Unique ID. Gradient = 3, /// Physically Based Sky Unique ID. PhysicallyBased = 4, } /// /// Sky Ambient Mode. /// public enum SkyAmbientMode { /// HDRP will use the static lighting sky setup in the lighting panel to compute the global ambient probe. Static, /// HDRP will use the current sky used for lighting (either the one setup in the Visual Environment component or the Sky Lighting Override) to compute the global ambient probe. Dynamic, } /// /// Sky Ambient Mode volume parameter. /// [Serializable, DebuggerDisplay(k_DebuggerDisplay)] public sealed class SkyAmbientModeParameter : VolumeParameter { /// /// Sky Ambient Mode volume parameter constructor. /// /// Sky Ambient Mode parameter. /// Initial override value. public SkyAmbientModeParameter(SkyAmbientMode value, bool overrideState = false) : base(value, overrideState) {} } }