64 lines
2.3 KiB
C#
64 lines
2.3 KiB
C#
using UnityEngine;
|
|
using UnityEngine.Rendering.PostProcessing;
|
|
|
|
namespace UnityEditor.Rendering.PostProcessing
|
|
{
|
|
[PostProcessEditor(typeof(AutoExposure))]
|
|
internal sealed class AutoExposureEditor : PostProcessEffectEditor<AutoExposure>
|
|
{
|
|
SerializedParameterOverride m_Filtering;
|
|
|
|
SerializedParameterOverride m_MinLuminance;
|
|
SerializedParameterOverride m_MaxLuminance;
|
|
SerializedParameterOverride m_KeyValue;
|
|
|
|
SerializedParameterOverride m_EyeAdaptation;
|
|
SerializedParameterOverride m_SpeedUp;
|
|
SerializedParameterOverride m_SpeedDown;
|
|
|
|
public override void OnEnable()
|
|
{
|
|
m_Filtering = FindParameterOverride(x => x.filtering);
|
|
|
|
m_MinLuminance = FindParameterOverride(x => x.minLuminance);
|
|
m_MaxLuminance = FindParameterOverride(x => x.maxLuminance);
|
|
m_KeyValue = FindParameterOverride(x => x.keyValue);
|
|
|
|
m_EyeAdaptation = FindParameterOverride(x => x.eyeAdaptation);
|
|
m_SpeedUp = FindParameterOverride(x => x.speedUp);
|
|
m_SpeedDown = FindParameterOverride(x => x.speedDown);
|
|
}
|
|
|
|
public override void OnInspectorGUI()
|
|
{
|
|
if (!SystemInfo.supportsComputeShaders)
|
|
EditorGUILayout.HelpBox("Auto exposure requires compute shader support.", MessageType.Warning);
|
|
|
|
EditorUtilities.DrawHeaderLabel("Exposure");
|
|
|
|
PropertyField(m_Filtering);
|
|
PropertyField(m_MinLuminance);
|
|
PropertyField(m_MaxLuminance);
|
|
|
|
// Clamp min/max adaptation values
|
|
float minLum = m_MinLuminance.value.floatValue;
|
|
float maxLum = m_MaxLuminance.value.floatValue;
|
|
m_MinLuminance.value.floatValue = Mathf.Min(minLum, maxLum);
|
|
m_MaxLuminance.value.floatValue = Mathf.Max(minLum, maxLum);
|
|
|
|
PropertyField(m_KeyValue);
|
|
|
|
EditorGUILayout.Space();
|
|
EditorUtilities.DrawHeaderLabel("Adaptation");
|
|
|
|
PropertyField(m_EyeAdaptation);
|
|
|
|
if (m_EyeAdaptation.value.intValue == (int)EyeAdaptation.Progressive)
|
|
{
|
|
PropertyField(m_SpeedUp);
|
|
PropertyField(m_SpeedDown);
|
|
}
|
|
}
|
|
}
|
|
}
|