summaryrefslogtreecommitdiff
path: root/UnityEngine.PostProcessing/GrainModel.cs
blob: 20ca6944b321d0ae4387e37dc0ab7301d9f8e21e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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
			{
				Settings result = default(Settings);
				result.colored = true;
				result.intensity = 0.5f;
				result.size = 1f;
				result.luminanceContribution = 0.8f;
				return result;
			}
		}
	}

	[SerializeField]
	private Settings m_Settings = Settings.defaultSettings;

	public Settings settings
	{
		get
		{
			return m_Settings;
		}
		set
		{
			m_Settings = value;
		}
	}

	public override void Reset()
	{
		m_Settings = Settings.defaultSettings;
	}
}