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);
}
}
}
}