using System;
using UnityEngine.Serialization;
namespace UnityEngine.Rendering.HighDefinition
{
///
/// A volume component that holds the general settings for ray traced effects.
///
[Serializable, VolumeComponentMenu("Ray Tracing/Ray Tracing Settings (Preview)")]
public sealed class RayTracingSettings : VolumeComponent
{
///
/// Controls the bias for all real-time ray tracing effects.
///
[Tooltip("Controls the bias for all real-time ray tracing effects.")]
public ClampedFloatParameter rayBias = new ClampedFloatParameter(0.001f, 0.0f, 0.1f);
///
/// Enables the override of the shadow culling. This increases the validity area of shadow maps outside of the frustum.
///
[Tooltip("Enables the override of the shadow culling. This increases the validity area of shadow maps outside of the frustum.")]
[FormerlySerializedAs("extendCulling")]
public BoolParameter extendShadowCulling = new BoolParameter(false);
///
/// Enables the override of the camera culling. This increases the validity area of animated skinned mesh that are outside of the frustum..
///
[Tooltip("Enables the override of the camera culling. This increases the validity area of animated skinned mesh that are outside of the frustum.")]
public BoolParameter extendCameraCulling = new BoolParameter(false);
///
/// Controls the maximal ray length for ray traced shadows.
///
[Tooltip("Controls the maximal ray length for ray traced directional shadows.")]
public MinFloatParameter directionalShadowRayLength = new MinFloatParameter(1000.0f, 0.01f);
///
/// Controls the fallback directional shadow value that is used when the point to shade is outside of the cascade.
///
[Tooltip("Controls the fallback directional shadow value that is used when the point to shade is outside of the cascade.")]
public ClampedFloatParameter directionalShadowFallbackIntensity = new ClampedFloatParameter(1.0f, 0.0f, 1.0f);
///
/// Default constructor for the ray tracing settings volume component.
///
public RayTracingSettings()
{
displayName = "Ray Tracing Settings (Preview)";
}
}
}