| using System; | 
|   | 
| namespace UnityEngine.PostProcessing | 
| { | 
|     [Serializable] | 
|     public class GrainModel : PostProcessingModel | 
|     { | 
|         [Serializable] | 
|         public struct Settings | 
|         { | 
|             [Tooltip("Enable the use of colored grain.")] | 
|             public bool colored; | 
|   | 
|             [Range(0f, 1f), Tooltip("Grain strength. Higher means more visible grain.")] | 
|             public float intensity; | 
|   | 
|             [Range(0.3f, 3f), Tooltip("Grain particle size.")] | 
|             public float size; | 
|   | 
|             [Range(0f, 1f), Tooltip("Controls the noisiness response curve based on scene luminance. Lower values mean less noise in dark areas.")] | 
|             public float luminanceContribution; | 
|   | 
|             public static Settings defaultSettings | 
|             { | 
|                 get | 
|                 { | 
|                     return new Settings | 
|                     { | 
|                         colored = true, | 
|                         intensity = 0.5f, | 
|                         size = 1f, | 
|                         luminanceContribution = 0.8f | 
|                     }; | 
|                 } | 
|             } | 
|         } | 
|   | 
|         [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; | 
|         } | 
|     } | 
| } |