| 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; | 
|         } | 
|     } | 
| } |