AmbientOcclusionModel.cs
2.32 KB
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
60
61
62
63
64
65
66
67
68
69
70
71
using System;
namespace UnityEngine.PostProcessing
{
[Serializable]
public class AmbientOcclusionModel : PostProcessingModel
{
public enum SampleCount
{
Lowest = 3,
Low = 6,
Medium = 10,
High = 16
}
[Serializable]
public struct Settings
{
[Range(0, 4), Tooltip("Degree of darkness produced by the effect.")]
public float intensity;
[Min(1e-4f), Tooltip("Radius of sample points, which affects extent of darkened areas.")]
public float radius;
[Tooltip("Number of sample points, which affects quality and performance.")]
public SampleCount sampleCount;
[Tooltip("Halves the resolution of the effect to increase performance.")]
public bool downsampling;
[Tooltip("Forces compatibility with Forward rendered objects when working with the Deferred rendering path.")]
public bool forceForwardCompatibility;
[Tooltip("Enables the ambient-only mode in that the effect only affects ambient lighting. This mode is only available with the Deferred rendering path and HDR rendering.")]
public bool ambientOnly;
[Tooltip("Toggles the use of a higher precision depth texture with the forward rendering path (may impact performances). Has no effect with the deferred rendering path.")]
public bool highPrecision;
public static Settings defaultSettings
{
get
{
return new Settings
{
intensity = 1f,
radius = 0.3f,
sampleCount = SampleCount.Medium,
downsampling = true,
forceForwardCompatibility = false,
ambientOnly = false,
highPrecision = false
};
}
}
}
[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;
}
}
}