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