A game about forced loneliness, made by TACStudios
1using System;
2using UnityEngine.Serialization;
3using UnityEngine.Rendering;
4
5namespace UnityEngine.Rendering
6{
7 /// <summary>
8 /// A <see cref="VolumeParameter"/> that holds a <see cref="APVLeakReductionMode"/> value.
9 /// </summary>
10 [Serializable]
11 public sealed class APVLeakReductionModeParameter : VolumeParameter<APVLeakReductionMode>
12 {
13 /// <summary>
14 /// Creates a new <see cref="APVLeakReductionModeParameter"/> instance.
15 /// </summary>
16 /// <param name="value">The initial value to store in the parameter.</param>
17 /// <param name="overrideState">The initial override state for the parameter.</param>
18 public APVLeakReductionModeParameter(APVLeakReductionMode value, bool overrideState = false) : base(value, overrideState) { }
19 }
20
21 /// <summary>
22 /// A volume component that holds settings for the Adaptive Probe Volumes System per-camera options.
23 /// </summary>
24 [Serializable, VolumeComponentMenu("Lighting/Adaptive Probe Volumes Options"), SupportedOnRenderPipeline]
25 public sealed class ProbeVolumesOptions : VolumeComponent
26 {
27 ProbeVolumesOptions()
28 {
29 displayName = "Adaptive Probe Volumes Options";
30 }
31
32 /// <summary>
33 /// The overridden normal bias to be applied to the world position when sampling the Adaptive Probe Volumes data structure. Unit is meters.
34 /// </summary>
35 [Tooltip("The overridden normal bias to be applied to the world position when sampling the Adaptive Probe Volumes data structure. Unit is meters.")]
36 public ClampedFloatParameter normalBias = new ClampedFloatParameter(0.05f, 0.0f, 2.0f);
37
38 /// <summary>
39 /// A bias alongside the view vector to be applied to the world position when sampling the Adaptive Probe Volumes data structure. Unit is meters.
40 /// </summary>
41 [Tooltip("A bias alongside the view vector to be applied to the world position when sampling the Adaptive Probe Volumes data structure. Unit is meters.")]
42 public ClampedFloatParameter viewBias = new ClampedFloatParameter(0.1f, 0.0f, 2.0f);
43
44 /// <summary>
45 /// Whether to scale the bias for Adaptive Probe Volumes by the minimum distance between probes.
46 /// </summary>
47 [Tooltip("Whether to scale the bias for Adaptive Probe Volumes by the minimum distance between probes.")]
48 public BoolParameter scaleBiasWithMinProbeDistance = new BoolParameter(false);
49
50 /// <summary>
51 /// Noise to be applied to the sampling position. It can hide seams issues between subdivision levels, but introduces noise.
52 /// </summary>
53 [Tooltip("Noise to be applied to the sampling position. It can hide seams issues between subdivision levels, but introduces noise.")]
54 public ClampedFloatParameter samplingNoise = new ClampedFloatParameter(0.1f, 0.0f, 1.0f);
55
56
57 /// <summary>
58 /// Whether to animate the noise when TAA is enabled, smoothing potentially out the noise pattern introduced.
59 /// </summary>
60 [Tooltip("Whether to animate the noise when TAA is enabled. It can potentially remove the visible noise patterns.")]
61 public BoolParameter animateSamplingNoise = new BoolParameter(true);
62
63 /// <summary>
64 /// Method used to reduce leaks.
65 /// </summary>
66 [Tooltip("Method used to reduce leaks. Currently available modes are crude, but cheap methods.")]
67 public APVLeakReductionModeParameter leakReductionMode = new APVLeakReductionModeParameter(APVLeakReductionMode.Quality);
68
69 /// <summary>
70 /// This parameter isn't used anymore.
71 /// </summary>
72 [Obsolete("This parameter isn't used anymore.")]
73 public ClampedFloatParameter minValidDotProductValue = new ClampedFloatParameter(0.1f, -1.0f, 0.33f);
74
75 /// <summary>
76 /// When enabled, reflection probe normalization can only decrease the reflections intensity.
77 /// </summary>
78 [Tooltip("When enabled, reflection probe normalization can only decrease the reflection intensity.")]
79 public BoolParameter occlusionOnlyReflectionNormalization = new BoolParameter(true);
80
81 /// <summary>
82 /// Global probe volumes weight. Allows for fading out probe volumes influence falling back to ambient probe.
83 /// </summary>
84 [AdditionalProperty, Tooltip("Global probe volumes weight. Allows for fading out probe volumes influence falling back to ambient probe.")]
85 public ClampedFloatParameter intensityMultiplier = new ClampedFloatParameter(1.0f, 0.0f, 1.0f);
86
87 /// <summary>
88 /// Multiplier applied on the sky lighting when using sky occlusion.
89 /// </summary>
90 [AdditionalProperty, Tooltip("Multiplier applied on the sky lighting when using sky occlusion.")]
91 public ClampedFloatParameter skyOcclusionIntensityMultiplier = new ClampedFloatParameter(1.0f, 0.0f, 5.0f);
92
93 /// <summary>
94 /// Offset applied at runtime to probe positions in world space.
95 /// </summary>
96 [AdditionalProperty, Tooltip("Offset applied at runtime to probe positions in world space.\nThis is not considered while baking.")]
97 public Vector3Parameter worldOffset = new Vector3Parameter(Vector3.zero);
98 }
99}