111
This commit is contained in:
88
Assets/ThirdParty/PostProcessing/Runtime/Models/EyeAdaptationModel.cs
vendored
Normal file
88
Assets/ThirdParty/PostProcessing/Runtime/Models/EyeAdaptationModel.cs
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
|
||||
namespace UnityEngine.PostProcessing
|
||||
{
|
||||
[Serializable]
|
||||
public class EyeAdaptationModel : PostProcessingModel
|
||||
{
|
||||
public enum EyeAdaptationType
|
||||
{
|
||||
Progressive,
|
||||
Fixed
|
||||
}
|
||||
|
||||
[Serializable]
|
||||
public struct Settings
|
||||
{
|
||||
[Range(1f, 99f), Tooltip("Filters the dark part of the histogram when computing the average luminance to avoid very dark pixels from contributing to the auto exposure. Unit is in percent.")]
|
||||
public float lowPercent;
|
||||
|
||||
[Range(1f, 99f), Tooltip("Filters the bright part of the histogram when computing the average luminance to avoid very dark pixels from contributing to the auto exposure. Unit is in percent.")]
|
||||
public float highPercent;
|
||||
|
||||
[Tooltip("Minimum average luminance to consider for auto exposure (in EV).")]
|
||||
public float minLuminance;
|
||||
|
||||
[Tooltip("Maximum average luminance to consider for auto exposure (in EV).")]
|
||||
public float maxLuminance;
|
||||
|
||||
[Min(0f), Tooltip("Exposure bias. Use this to offset the global exposure of the scene.")]
|
||||
public float keyValue;
|
||||
|
||||
[Tooltip("Set this to true to let Unity handle the key value automatically based on average luminance.")]
|
||||
public bool dynamicKeyValue;
|
||||
|
||||
[Tooltip("Use \"Progressive\" if you want the auto exposure to be animated. Use \"Fixed\" otherwise.")]
|
||||
public EyeAdaptationType adaptationType;
|
||||
|
||||
[Min(0f), Tooltip("Adaptation speed from a dark to a light environment.")]
|
||||
public float speedUp;
|
||||
|
||||
[Min(0f), Tooltip("Adaptation speed from a light to a dark environment.")]
|
||||
public float speedDown;
|
||||
|
||||
[Range(-16, -1), Tooltip("Lower bound for the brightness range of the generated histogram (in EV). The bigger the spread between min & max, the lower the precision will be.")]
|
||||
public int logMin;
|
||||
|
||||
[Range(1, 16), Tooltip("Upper bound for the brightness range of the generated histogram (in EV). The bigger the spread between min & max, the lower the precision will be.")]
|
||||
public int logMax;
|
||||
|
||||
public static Settings defaultSettings
|
||||
{
|
||||
get
|
||||
{
|
||||
return new Settings
|
||||
{
|
||||
lowPercent = 45f,
|
||||
highPercent = 95f,
|
||||
|
||||
minLuminance = -5f,
|
||||
maxLuminance = 1f,
|
||||
keyValue = 0.25f,
|
||||
dynamicKeyValue = true,
|
||||
|
||||
adaptationType = EyeAdaptationType.Progressive,
|
||||
speedUp = 2f,
|
||||
speedDown = 1f,
|
||||
|
||||
logMin = -8,
|
||||
logMax = 4
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[SerializeField]
|
||||
Settings m_Settings = Settings.defaultSettings;
|
||||
public Settings settings
|
||||
{
|
||||
get { return m_Settings; }
|
||||
set { m_Settings = value; }
|
||||
}
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
m_Settings = Settings.defaultSettings;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user