using System; using HTraceWSGI.Scripts.Globals; using UnityEngine; namespace HTraceWSGI.Scripts.Structs { [Serializable] public class ScreenSpaceLightingData { /// /// 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; HExtensions.HRangeAttributeDictionary.TryGetValue(nameof(OcclusionIntensity), out HExtensions.HRangeAttributeElement attributeValue); _occlusionIntensity = Mathf.Clamp(value, attributeValue.minFloat, attributeValue.maxFloat); } } } }