You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.9 KiB
102 lines
2.9 KiB
using System; |
|
|
|
namespace UnityEngine.PostProcessing |
|
{ |
|
[Serializable] |
|
public class BloomModel : PostProcessingModel |
|
{ |
|
[Serializable] |
|
public struct BloomSettings |
|
{ |
|
[Min(0f), Tooltip("Strength of the bloom filter.")] |
|
public float intensity; |
|
|
|
[Min(0f), Tooltip("Filters out pixels under this level of brightness.")] |
|
public float threshold; |
|
|
|
public float thresholdLinear |
|
{ |
|
set { threshold = Mathf.LinearToGammaSpace(value); } |
|
get { return Mathf.GammaToLinearSpace(threshold); } |
|
} |
|
|
|
[Range(0f, 1f), Tooltip("Makes transition between under/over-threshold gradual (0 = hard threshold, 1 = soft threshold).")] |
|
public float softKnee; |
|
|
|
[Range(1f, 7f), Tooltip("Changes extent of veiling effects in a screen resolution-independent fashion.")] |
|
public float radius; |
|
|
|
[Tooltip("Reduces flashing noise with an additional filter.")] |
|
public bool antiFlicker; |
|
|
|
public static BloomSettings defaultSettings |
|
{ |
|
get |
|
{ |
|
return new BloomSettings |
|
{ |
|
intensity = 0.5f, |
|
threshold = 1.1f, |
|
softKnee = 0.5f, |
|
radius = 4f, |
|
antiFlicker = false, |
|
}; |
|
} |
|
} |
|
} |
|
|
|
[Serializable] |
|
public struct LensDirtSettings |
|
{ |
|
[Tooltip("Dirtiness texture to add smudges or dust to the lens.")] |
|
public Texture texture; |
|
|
|
[Min(0f), Tooltip("Amount of lens dirtiness.")] |
|
public float intensity; |
|
|
|
public static LensDirtSettings defaultSettings |
|
{ |
|
get |
|
{ |
|
return new LensDirtSettings |
|
{ |
|
texture = null, |
|
intensity = 3f |
|
}; |
|
} |
|
} |
|
} |
|
|
|
[Serializable] |
|
public struct Settings |
|
{ |
|
public BloomSettings bloom; |
|
public LensDirtSettings lensDirt; |
|
|
|
public static Settings defaultSettings |
|
{ |
|
get |
|
{ |
|
return new Settings |
|
{ |
|
bloom = BloomSettings.defaultSettings, |
|
lensDirt = LensDirtSettings.defaultSettings |
|
}; |
|
} |
|
} |
|
} |
|
|
|
[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; |
|
} |
|
} |
|
}
|
|
|