using System; namespace UnityEngine.Rendering.Universal { /// /// A volume component that holds settings for the Color Adjustments effect. /// [Serializable, VolumeComponentMenu("Post-processing/Color Curves")] [SupportedOnRenderPipeline(typeof(UniversalRenderPipelineAsset))] [URPHelpURL("Post-Processing-Color-Curves")] public sealed class ColorCurves : VolumeComponent, IPostProcessComponent { /// /// Affects the luminance across the whole image. /// [Tooltip("Affects the luminance across the whole image.")] public TextureCurveParameter master = new TextureCurveParameter(new TextureCurve(new[] { new Keyframe(0f, 0f, 1f, 1f), new Keyframe(1f, 1f, 1f, 1f) }, 0f, false, new Vector2(0f, 1f))); /// /// Affects the red channel intensity across the whole image. /// [Tooltip("Affects the red channel intensity across the whole image.")] public TextureCurveParameter red = new TextureCurveParameter(new TextureCurve(new[] { new Keyframe(0f, 0f, 1f, 1f), new Keyframe(1f, 1f, 1f, 1f) }, 0f, false, new Vector2(0f, 1f))); /// /// Affects the green channel intensity across the whole image. /// [Tooltip("Affects the green channel intensity across the whole image.")] public TextureCurveParameter green = new TextureCurveParameter(new TextureCurve(new[] { new Keyframe(0f, 0f, 1f, 1f), new Keyframe(1f, 1f, 1f, 1f) }, 0f, false, new Vector2(0f, 1f))); /// /// Affects the blue channel intensity across the whole image. /// [Tooltip("Affects the blue channel intensity across the whole image.")] public TextureCurveParameter blue = new TextureCurveParameter(new TextureCurve(new[] { new Keyframe(0f, 0f, 1f, 1f), new Keyframe(1f, 1f, 1f, 1f) }, 0f, false, new Vector2(0f, 1f))); /// /// Shifts the input hue (x-axis) according to the output hue (y-axis). /// [Tooltip("Shifts the input hue (x-axis) according to the output hue (y-axis).")] public TextureCurveParameter hueVsHue = new TextureCurveParameter(new TextureCurve(new Keyframe[] { }, 0.5f, true, new Vector2(0f, 1f))); /// /// Adjusts saturation (y-axis) according to the input hue (x-axis). /// [Tooltip("Adjusts saturation (y-axis) according to the input hue (x-axis).")] public TextureCurveParameter hueVsSat = new TextureCurveParameter(new TextureCurve(new Keyframe[] { }, 0.5f, true, new Vector2(0f, 1f))); /// /// Adjusts saturation (y-axis) according to the input saturation (x-axis). /// [Tooltip("Adjusts saturation (y-axis) according to the input saturation (x-axis).")] public TextureCurveParameter satVsSat = new TextureCurveParameter(new TextureCurve(new Keyframe[] { }, 0.5f, false, new Vector2(0f, 1f))); /// /// Adjusts saturation (y-axis) according to the input luminance (x-axis). /// [Tooltip("Adjusts saturation (y-axis) according to the input luminance (x-axis).")] public TextureCurveParameter lumVsSat = new TextureCurveParameter(new TextureCurve(new Keyframe[] { }, 0.5f, false, new Vector2(0f, 1f))); /// public bool IsActive() => true; /// [Obsolete("Unused #from(2023.1)", false)] public bool IsTileCompatible() => true; } }