Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
211cf56
Change reflection direction to match GGX
skhiat Jul 17, 2020
46aebf2
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Jul 23, 2020
f70228c
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Aug 5, 2020
3c30991
local tmp
skhiat Aug 6, 2020
e4cf5e6
Temp Denoise and Inpainting
skhiat Aug 7, 2020
c28f92d
Backup remote work
skhiat Aug 22, 2020
940c02f
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Aug 24, 2020
b59b2d4
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Sep 3, 2020
72933ce
Remove blur step
skhiat Sep 17, 2020
8f0c4a0
Add doc
skhiat Sep 17, 2020
d505f55
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Sep 17, 2020
2b39f2f
ChangeLog + small fix
skhiat Sep 17, 2020
fd0b761
Speed dependend convergence
skhiat Sep 17, 2020
8d1f573
Clean code
skhiat Sep 17, 2020
ffa19bf
Fix multicamera + SSR
skhiat Sep 21, 2020
4203364
Cleanup
skhiat Sep 22, 2020
9629f42
Saturate local & target velocity
skhiat Sep 23, 2020
a86298a
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Sep 23, 2020
800dfb6
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Sep 23, 2020
143b563
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Sep 28, 2020
8102ea7
Fix RenderGraph
skhiat Sep 29, 2020
184efb8
Code cleaning + comments
skhiat Oct 5, 2020
1060cf8
Fix feedback
skhiat Oct 5, 2020
2367f44
Support previous & new algorithm
skhiat Oct 6, 2020
356d97b
missing file: support both algorithm
skhiat Oct 6, 2020
fcc11a9
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Oct 6, 2020
3cd2857
fix for default RenderGraph
skhiat Oct 6, 2020
75217b5
Simplify UI
skhiat Oct 6, 2020
8bc18ee
Remap parameters for more userfriendly parametrization
skhiat Oct 6, 2020
663eef2
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Oct 7, 2020
a089aa0
fix doc missing
skhiat Oct 7, 2020
8b75b38
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Oct 7, 2020
51339b3
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Oct 8, 2020
602323d
Clean up
skhiat Oct 8, 2020
42d7eee
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Oct 8, 2020
aeeaedf
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Oct 9, 2020
9faa9c2
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Oct 12, 2020
0a220e9
New rendergraph fix
skhiat Oct 12, 2020
453afcc
temp
skhiat Oct 12, 2020
da3cd34
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Oct 12, 2020
cae098c
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Oct 13, 2020
7ed5ed7
Fix alloc issues RenderGraphs
skhiat Oct 13, 2020
6ec73fc
Update default values
skhiat Oct 13, 2020
e7ccb8b
Add NaN killer
skhiat Oct 13, 2020
104896d
New strategy for 'first frame' reset
skhiat Oct 14, 2020
1150035
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Oct 14, 2020
caad69b
Merge branch 'HDRP/staging' of github.com:Unity-Technologies/Graphics…
skhiat Oct 15, 2020
08e146b
Update doc with clearer explaination
skhiat Oct 16, 2020
f6fdb0d
Merge branch 'master' into HDRP/ssr_improvement
sebastienlagarde Oct 16, 2020
b20e96d
Perf improvement
skhiat Oct 18, 2020
89e09f7
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 18, 2020
6ccacad
Move code
skhiat Oct 19, 2020
1ab5e2d
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 19, 2020
4aa7511
Fix GCAlloc issues
skhiat Oct 19, 2020
22fc087
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 19, 2020
a1aa207
Fix SSR & Transparent, both pipe RenderGraph & non-RenderGraph
skhiat Oct 19, 2020
4062145
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 19, 2020
6ecd52f
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 20, 2020
08a24b6
Add what's new
skhiat Oct 20, 2020
c5b8c34
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 21, 2020
dd67a28
Regenerate shader includes
skhiat Oct 21, 2020
2f36d8a
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 21, 2020
b397c7b
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 22, 2020
88cab4e
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 22, 2020
c2ae5d5
Fix API Test
skhiat Oct 23, 2020
16280be
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 23, 2020
9636bb3
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 23, 2020
87f8666
Fix name RayTracingCommon.hlsl
sebastienlagarde Oct 24, 2020
39657f1
Merge branch 'master' into HDRP/ssr_improvement
sebastienlagarde Oct 24, 2020
c22c128
Typo simplification
skhiat Oct 24, 2020
2341c15
Merge branch 'HDRP/ssr_improvement' of github.com:Unity-Technologies/…
skhiat Oct 24, 2020
ea6753d
Merge branch 'master' into HDRP/ssr_improvement
sebastienlagarde Oct 24, 2020
5be5011
Update VertMesh.hlsl
sebastienlagarde Oct 24, 2020
a6d20a8
Update VertMesh.hlsl
sebastienlagarde Oct 24, 2020
46c36ad
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 25, 2020
d569092
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 25, 2020
2b71318
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 25, 2020
5b913e6
Fix parity RG & Non-RG
skhiat Oct 25, 2020
99ed42d
Merge branch 'master' of github.com:Unity-Technologies/Graphics into …
skhiat Oct 25, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions com.unity.render-pipelines.high-definition/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ The version number for this package has increased due to a version update of a r
- Added the support of eye shader for ray tracing.
- Exposed Refraction Model to the material UI when using a Lit ShaderGraph.
- Added bounding sphere support to screen-space axis-aligned bounding box generation pass.
- Added new algorithm for SSR with temporal accumulation

### Fixed
- Fixed several issues with physically-based DoF (TAA ghosting of the CoC buffer, smooth layer transitions, etc)
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@ HDRP uses the [Volume](Volumes.md) framework to calculate SSR, so to enable and
| **Property** | **Description** |
| ----------------------------- | ------------------------------------------------------------ |
| **Enable** | Indicates whether HDRP processes SSR for Cameras in the influence of this effect's Volume . |
| **Algorithm** | Unity provide two algorithm 'Approximation' and 'PBR Accumulation'. 'Approximation' is the regular one which try to have fast and less precise, 'PBR Accumulation' provide a more precise SSR by accumulating through multiple frames (controlable with 'Accumulation Factor'). |
| **Minimum Smoothness** | Use the slider to set the minimum amount of surface smoothness at which HDRP performs SSR tracing. Lower values result in HDRP performing SSR tracing for less smooth GameObjects. |
| **Smoothness Fade Start** | Use the slider to set the smoothness value at which SSR reflections begin to fade out. Lower values result in HDRP fading out SSR reflections for less smooth GameObjects |
| **Reflect Sky** | Indicates whether HDRP should use SSR to handle sky reflection. If you disable this property, pixels that reflect the sky use the next level of the [reflection hierarchy](Reflection-in-HDRP.md#ReflectionHierarchy).<br />**Note**: SSR uses the depth buffer to calculate reflection and HDRP does not add transparent GameObjects to the depth buffer. If you enable this property, transparent GameObject that appear over the sky in the color buffer can cause visual artifacts and incorrect looking reflection. This is a common limitation for SSR techniques. |
| **Screen Edge Fade Distance** | Use the slider to control the distance at which HDRP fades out screen space reflections when the destination of the ray is near the boundaries of the screen. Increase this value to increase the distance from the screen edge at which HDRP fades out screen space reflections for a ray destination. |
| **Object Thickness** | Use the slider to control the thickness of the GameObjects on screen. Because the SSR algorithm can not distinguish thin GameObjects from thick ones, this property helps trace rays behind GameObjects. The algorithm applies this property to every GameObject uniformly. |
| **Quality** | Specifies the quality level to use for this effect. Each quality level applies different preset values. Unity also stops you from editing the properties that the preset overrides. If you want to set your own values for every property, select **Custom**. |
| **Max Ray Steps** | Sets the maximum number of iterations that the algorithm can execute before it stops trying to find an intersection with a Mesh. For example, if you set the number of iterations to 1000 and the algorithm only needs 10 to find an intersection, the algorithm terminates after 10 iterations. If you set this value too low, the algorithm may terminate too early and abruptly stop reflections. |
| **Accumulation Factor** | Use the slider to control the speed of converge. 0 means no accumulation. 1 means accumulation is very slow which is useful for fixed image. Use carefuly to find a balance between convergence and ghosting. The more rough the reflection surfaces is, the more accumulation it will need to have a converged image without noise. |

## Limitations

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,12 @@ This version of HDRP introduces a new injection point for custom post-processing

HDRP, being a high-end modern renderer, contains a lot of compute shader passes. Up until now, to define variations of some compute shaders, HDRP had to manually declare new kernels for each variation. From this version, every compute shader in HDRP uses Unity's multi-compile API which makes maintenance easier, but more importantly allows HDRP to strip shaders that you do not need to improve compilation times.

### Screen Space Reflection

![](Images/HDRP-SSRImprovement.png)

HDRP improves the Screen Space Reflection by providing a new implementation 'PBR Accumulation'

### Planar reflection probe filtering

![](Images/PlanarReflectionFiltering-Feature.png)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ namespace UnityEditor.Rendering.HighDefinition
class HDScreenSpaceReflectionEditor : VolumeComponentWithQualityEditor
{
SerializedDataParameter m_Enable;
SerializedDataParameter m_UsedAlgorithm;
SerializedDataParameter m_RayTracing;

// Shared data
Expand All @@ -20,6 +21,7 @@ class HDScreenSpaceReflectionEditor : VolumeComponentWithQualityEditor
SerializedDataParameter m_ScreenFadeDistance;
SerializedDataParameter m_RayMaxIterations;
SerializedDataParameter m_DepthBufferThickness;
SerializedDataParameter m_AccumulationFactor;

// Ray Tracing
SerializedDataParameter m_LayerMask;
Expand All @@ -41,6 +43,7 @@ public override void OnEnable()
{
var o = new PropertyFetcher<ScreenSpaceReflection>(serializedObject);
m_Enable = Unpack(o.Find(x => x.enabled));
m_UsedAlgorithm = Unpack(o.Find(x => x.usedAlgorithm));
m_RayTracing = Unpack(o.Find(x => x.rayTracing));

// Shared data
Expand All @@ -52,6 +55,7 @@ public override void OnEnable()
m_DepthBufferThickness = Unpack(o.Find(x => x.depthBufferThickness));
m_RayMaxIterations = Unpack(o.Find(x => x.rayMaxIterations));
m_ScreenFadeDistance = Unpack(o.Find(x => x.screenFadeDistance));
m_AccumulationFactor = Unpack(o.Find(x => x.accumulationFactor));

// Generic ray tracing
m_LayerMask = Unpack(o.Find(x => x.layerMask));
Expand All @@ -72,12 +76,14 @@ public override void OnEnable()
base.OnEnable();
}

static public readonly GUIContent k_Algo = EditorGUIUtility.TrTextContent("Algorithm", "The screen space reflection algorithm used.");
static public readonly GUIContent k_RayTracingText = EditorGUIUtility.TrTextContent("Ray Tracing (Preview)", "Enable ray traced reflections.");
static public readonly GUIContent k_ReflectSkyText = EditorGUIUtility.TrTextContent("Reflect Sky", "When enabled, SSR handles sky reflection.");
static public readonly GUIContent k_LayerMaskText = EditorGUIUtility.TrTextContent("Layer Mask", "Layer mask used to include the objects for screen space reflection.");
static public readonly GUIContent k_MinimumSmoothnessText = EditorGUIUtility.TrTextContent("Minimum Smoothness", "Controls the smoothness value at which HDRP activates SSR and the smoothness-controlled fade out stops.");
static public readonly GUIContent k_SmoothnessFadeStartText = EditorGUIUtility.TrTextContent("Smoothness Fade Start", "Controls the smoothness value at which the smoothness-controlled fade out starts. The fade is in the range [Min Smoothness, Smoothness Fade Start].");
static public readonly GUIContent k_ScreenFaceDistanceText = EditorGUIUtility.TrTextContent("Screen Edge Fade Distance", "Controls the distance at which HDRP fades out SSR near the edge of the screen.");
static public readonly GUIContent k_AccumulationFactorText = EditorGUIUtility.TrTextContent("Accumulation Factor", "Controls Controls the amount of accumulation (0 no accumulation, 1 just accumulate).");
static public readonly GUIContent k_DepthBufferThicknessText = EditorGUIUtility.TrTextContent("Object Thickness", "Controls the typical thickness of objects the reflection rays may pass behind.");
static public readonly GUIContent k_RayMaxIterationsText = EditorGUIUtility.TrTextContent("Max Ray Steps", "Sets the maximum number of steps HDRP uses for raytracing. Affects both correctness and performance.");
static public readonly GUIContent k_RayLengthText = EditorGUIUtility.TrTextContent("Max Ray Length", "Controls the maximal length of reflection rays. The higher this value is, the more expensive ray traced reflections are.");
Expand Down Expand Up @@ -106,7 +112,6 @@ void RayTracingQualityModeGUI()
}
}


void RayTracingPerformanceModeGUI()
{
base.OnInspectorGUI();
Expand Down Expand Up @@ -191,12 +196,16 @@ public override void OnInspectorGUI()
}
else
{
PropertyField(m_UsedAlgorithm, k_Algo);

// Shared Data
PropertyField(m_MinSmoothness, k_MinimumSmoothnessText);
PropertyField(m_SmoothnessFadeStart, k_SmoothnessFadeStartText);
PropertyField(m_ReflectSky, k_ReflectSkyText);
m_SmoothnessFadeStart.value.floatValue = Mathf.Max(m_MinSmoothness.value.floatValue, m_SmoothnessFadeStart.value.floatValue);
PropertyField(m_ScreenFadeDistance, k_ScreenFaceDistanceText);

if (m_UsedAlgorithm.value.intValue != (int)ScreenSpaceReflectionAlgorithm.PBRAccumulation)
PropertyField(m_ScreenFadeDistance, k_ScreenFaceDistanceText);
PropertyField(m_DepthBufferThickness, k_DepthBufferThicknessText);

m_DepthBufferThickness.value.floatValue = Mathf.Clamp(m_DepthBufferThickness.value.floatValue, 0.001f, 1.0f);
Expand All @@ -209,6 +218,8 @@ public override void OnInspectorGUI()
PropertyField(m_RayMaxIterations, k_RayMaxIterationsText);
m_RayMaxIterations.value.intValue = Mathf.Max(0, m_RayMaxIterations.value.intValue);
}
if (m_UsedAlgorithm.value.intValue == (int)ScreenSpaceReflectionAlgorithm.PBRAccumulation)
PropertyField(m_AccumulationFactor, k_AccumulationFactorText);
}
}
public override QualitySettingsBlob SaveCustomQualitySettingsAsObject(QualitySettingsBlob settings = null)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public enum FullScreenDebugMode
MinLightingFullScreenDebug,
/// <summary>Display Screen Space Ambient Occlusion buffer.</summary>
ScreenSpaceAmbientOcclusion,
/// <summary>Display Screen Space Reflections buffer.</summary>
/// <summary>Display Screen Space Reflections buffer used for lighting.</summary>
ScreenSpaceReflections,
/// <summary>Display the Transparent Screen Space Reflections buffer.</summary>
TransparentScreenSpaceReflections,
Expand Down Expand Up @@ -116,7 +116,12 @@ public enum FullScreenDebugMode
/// <summary>Display specular Color validation mode.</summary>
ValidateSpecularColor,
/// <summary>Maximum Full Screen Material debug mode value (used internally).</summary>
MaxMaterialFullScreenDebug
MaxMaterialFullScreenDebug,
// TODO: Move before count for 11.0
/// <summary>Display Screen Space Reflections buffer of the previous frame accumulated.</summary>
ScreenSpaceReflectionsPrev,
/// <summary>Display Screen Space Reflections buffer of the current frame hit.</summary>
ScreenSpaceReflectionsAccum
}

/// <summary>
Expand Down Expand Up @@ -1944,7 +1949,7 @@ internal bool DebugNeedsExposure()
debugLighting == DebugLightingMode.DiffuseLighting || debugLighting == DebugLightingMode.SpecularLighting || debugLighting == DebugLightingMode.VisualizeCascade) ||
(data.lightingDebugSettings.overrideAlbedo || data.lightingDebugSettings.overrideNormal || data.lightingDebugSettings.overrideSmoothness || data.lightingDebugSettings.overrideSpecularColor || data.lightingDebugSettings.overrideEmissiveColor || data.lightingDebugSettings.overrideAmbientOcclusion) ||
(debugGBuffer == DebugViewGbuffer.BakeDiffuseLightingWithAlbedoPlusEmissive) || (data.lightingDebugSettings.debugLightFilterMode != DebugLightFilterMode.None) ||
(data.fullScreenDebugMode == FullScreenDebugMode.PreRefractionColorPyramid || data.fullScreenDebugMode == FullScreenDebugMode.FinalColorPyramid || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceReflections || data.fullScreenDebugMode == FullScreenDebugMode.LightCluster || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceShadows || data.fullScreenDebugMode == FullScreenDebugMode.NanTracker || data.fullScreenDebugMode == FullScreenDebugMode.ColorLog) || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceGlobalIllumination ||
(data.fullScreenDebugMode == FullScreenDebugMode.PreRefractionColorPyramid || data.fullScreenDebugMode == FullScreenDebugMode.FinalColorPyramid || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceReflections || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceReflectionsPrev || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceReflectionsAccum || data.fullScreenDebugMode == FullScreenDebugMode.LightCluster || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceShadows || data.fullScreenDebugMode == FullScreenDebugMode.NanTracker || data.fullScreenDebugMode == FullScreenDebugMode.ColorLog) || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceGlobalIllumination ||
(debugLighting == DebugLightingMode.ProbeVolume || debugProbeVolume == ProbeVolumeDebugMode.VisualizeAtlas);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@
#define FULLSCREENDEBUGMODE_VALIDATE_DIFFUSE_COLOR (27)
#define FULLSCREENDEBUGMODE_VALIDATE_SPECULAR_COLOR (28)
#define FULLSCREENDEBUGMODE_MAX_MATERIAL_FULL_SCREEN_DEBUG (29)
#define FULLSCREENDEBUGMODE_SCREEN_SPACE_REFLECTIONS_PREV (30)
#define FULLSCREENDEBUGMODE_SCREEN_SPACE_REFLECTIONS_ACCUM (31)

// Generated from UnityEngine.Rendering.HighDefinition.ShaderVariablesDebugDisplay
// PackingRules = Exact
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,10 @@ Shader "Hidden/HDRP/DebugFullScreen"

return float4(fade.xxx, 0.0);
}
if (_FullScreenDebugMode == FULLSCREENDEBUGMODE_SCREEN_SPACE_REFLECTIONS || _FullScreenDebugMode == FULLSCREENDEBUGMODE_TRANSPARENT_SCREEN_SPACE_REFLECTIONS)
if (_FullScreenDebugMode == FULLSCREENDEBUGMODE_SCREEN_SPACE_REFLECTIONS ||
_FullScreenDebugMode == FULLSCREENDEBUGMODE_SCREEN_SPACE_REFLECTIONS_PREV ||
_FullScreenDebugMode == FULLSCREENDEBUGMODE_SCREEN_SPACE_REFLECTIONS_ACCUM ||
_FullScreenDebugMode == FULLSCREENDEBUGMODE_TRANSPARENT_SCREEN_SPACE_REFLECTIONS)
{
float4 color = SAMPLE_TEXTURE2D_X(_DebugFullScreenTexture, s_point_clamp_sampler, input.texcoord) * GetCurrentExposureMultiplier();
return float4(color.rgb, 1.0f);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,35 @@
using System;
using System.Diagnostics;
using UnityEngine.Serialization;

namespace UnityEngine.Rendering.HighDefinition
{
/// <summary>
/// Screen Space Reflection Algorithm
/// </summary>
public enum ScreenSpaceReflectionAlgorithm
{
/// <summary>Legacy SSR approximation.</summary>
Approximation,
/// <summary>Screen Space Reflection, Physically Based with Accumulation through multiple frame.</summary>
PBRAccumulation
}

/// <summary>
/// Screen Space Reflection Algorithm Type volume parameter.
/// </summary>
[Serializable, DebuggerDisplay(k_DebuggerDisplay)]
public sealed class SSRAlgoParameter : VolumeParameter<ScreenSpaceReflectionAlgorithm>
{
/// <summary>
/// Screen Space Reflection Algorithm Type volume parameter constructor.
/// </summary>
/// <param name="value">SSR Algo Type parameter.</param>
/// <param name="overrideState">Initial override state.</param>
public SSRAlgoParameter(ScreenSpaceReflectionAlgorithm value, bool overrideState = false)
: base(value, overrideState) { }
}

/// <summary>
/// A volume component that holds settings for screen space reflection and ray traced reflections.
/// </summary>
Expand All @@ -26,6 +53,9 @@ bool UsesRayTracing()
[Tooltip("Enable Screen Space Reflections.")]
public BoolParameter enabled = new BoolParameter(true);

/// <summary>Screen Space Reflections Algorithm used.</summary>
public SSRAlgoParameter usedAlgorithm = new SSRAlgoParameter(ScreenSpaceReflectionAlgorithm.Approximation);

/// <summary>
/// Enable ray traced reflections.
/// </summary>
Expand Down Expand Up @@ -78,6 +108,11 @@ public float smoothnessFadeStart
/// </summary>
public ClampedFloatParameter screenFadeDistance = new ClampedFloatParameter(0.1f, 0.0f, 1.0f);

/// <summary>
/// Controls the amount of accumulation (0 no accumulation, 1 just accumulate)
/// </summary>
public ClampedFloatParameter accumulationFactor = new ClampedFloatParameter(0.75f, 0.0f, 1.0f);

/// <summary>
/// Layer mask used to include the objects for screen space reflection.
/// </summary>
Expand Down
Loading