using System; using HTraceWSGI.Scripts.Extensions; using HTraceWSGI.Scripts.Globals; using UnityEngine; namespace HTraceWSGI.Scripts.Data.Public { [Serializable] public class ScreenSpaceLightingSettings { /// /// Allows to evaluate lighting at the hit points of screen-space rays instead of relying solely on the previous Color Buffer. /// /// More information public bool EvaluateHitLighting = false; /// /// Enable directional screen space occlusion. /// /// More information public bool DirectionalOcclusion = true; [SerializeField] private float _occlusionIntensity = 0.25f; /// /// Occlusion Intensity /// /// [0.0;1.0] /// More information [HExtensions.HRange(0.0f,1.0f)] public float OcclusionIntensity { get => _occlusionIntensity; set { if (Mathf.Abs(value - _occlusionIntensity) < Mathf.Epsilon) return; _occlusionIntensity = HExtensions.Clamp(value, typeof(ScreenSpaceLightingSettings), nameof(ScreenSpaceLightingSettings.OcclusionIntensity)); } } } }