Skip to content

Commit 53f45f9

Browse files
adrien-de-tocquevillepmavridisFrancescoC-unitysebastienlagardejohnpars
authored
Fix range for HDRP Asset settings (#4978)
* [HDRP] Fix AxF debug output in certain configurations (#4641) * Fix AxF debug output in certain configurations. * Update comment * Fix SSR accumulation white flash (#4648) * Fix white flash * changelog Co-authored-by: sebastienlagarde <[email protected]> * Display Info Box when MSAA + ray tracing is onr (#4627) * Show info box when ray tracing is enabled. * Changelog * Move below MSAA Co-authored-by: sebastienlagarde <[email protected]> * Fix distortion when resizing the window in player builds with the Graphics Compositor enabled (#4593) Co-authored-by: sebastienlagarde <[email protected]> * Add support for the camera bridge in the graphics compositor (#4599) * Fix Jittered Project Matrix Infinite Far Clip Plane (#4638) * Reconstruct jittered projection matrix far plane (for Infinite ) * Changelog Co-authored-by: sebastienlagarde <[email protected]> * Fixed a memory leak related to not disposing of the RTAS at the end HDRP's lifecycle. (#4688) Co-authored-by: sebastienlagarde <[email protected]> * Fix custom pass utils Blur + Copy overdraw. (#4623) * Fix overdraw in custom pass utils blur function * Updated changelog Co-authored-by: sebastienlagarde <[email protected]> * Fix draw procedural invalid pass idx 1 on first template load (#4632) * Fix * changelog * Force sync compilation for TAA Co-authored-by: CifaCia <[email protected]> Co-authored-by: sebastienlagarde <[email protected]> * Changed light reset to preserve type (#4624) Co-authored-by: sebastienlagarde <[email protected]> * Revert "Add support for the camera bridge in the graphics compositor (#4599)" This reverts commit 2325e3f. * AxF carpaint: Fix a compilation issue on Vulkan until the cpp HLSLcc side is updated. (case 1335737, related to 1314040) (#4691) Co-authored-by: sebastienlagarde <[email protected]> * Revert "Revert "Add support for the camera bridge in the graphics compositor (#4599)"" This reverts commit 30fffd5. * revert: Fix distortion when resizing the window in player builds with the Graphi * Fixed the ray traced sub subsurface scattering debug mode not displaying only the RTSSS Data (case 1332904). (#4626) * Fixed the ray traced sub subsurface scattering debug mode not displaying only the RTSSS Data (case 1332904). * Add test scene Co-authored-by: Remi Chapelain <[email protected]> Co-authored-by: Sebastien Lagarde <[email protected]> * Fix for discrepancies in saturation and intensity between screen space refraction and probe refraction (#4653) * Delete the second transmittance mul * Changelog Co-authored-by: Sebastien Lagarde <[email protected]> * Fix a Divide-by-Zero Warning for some Anisotropic Models (Fabric, Lit) (#4636) * Initialize the shading normal to a non-zero value for anisotropy * Changelog Co-authored-by: sebastienlagarde <[email protected]> * [HDRP] Fix VfX lit particle AOV output color space (#4646) * Fix VfX lit particle aov output color space * Update comment Co-authored-by: sebastienlagarde <[email protected]> * [HDRP][Path Tracing] Fixed transparent unlit (#4605) * Fixed issue with transparent unlit. * Updated changelog. * Reverted accidental change to default mtl. Co-authored-by: sebastienlagarde <[email protected]> * Fix distortion with MSAA (#4711) * Fix contact shadow debug views (#4720) * Fix * changelog Co-authored-by: sebastienlagarde <[email protected]> * Update Decal-Projector.md (#4695) * [HDRP] Fixed nullref when deleting the texture asset assigned in a local volumetric fog volume (#4728) * Fixed nullref when deleting the 3D mask of a density volume (case 1339330) * Updated changelog Co-authored-by: sebastienlagarde <[email protected]> * Fix decal layer enum (#4753) * Fix typo * Fixed reflection probes being injected into the ray tracing light cluster even if not baked (case 1329083). (#4640) Co-authored-by: sebastienlagarde <[email protected]> * Ignore hybrid duplicated reflection probes during light baking (#4663) * Ignore hybrid duplicated reflection probes during light baking * test path instead of scene Co-authored-by: sebastienlagarde <[email protected]> * Fix double sided option moving when toggling it in the material UI (#4725) * Fix double sided option moving when toggling it in the material UI (case 1328877) * Updated changelog Co-authored-by: sebastienlagarde <[email protected]> * Fix formatting * Fix volumetric fog in planar reflections (#4736) * Fix planar reflection * changelog Co-authored-by: sebastienlagarde <[email protected]> * Fix motion blur compute dispatch size (#4737) Co-authored-by: sebastienlagarde <[email protected]> * - Updated the recursive rendering documentation (case 1338639). (#4759) * - Updated the recursive rendering documentation (case 1338639). * review fixes Co-authored-by: sebastienlagarde <[email protected]> * Fix issue with OnDemand directional shadow map being corrupted when reflection probe are updated same frame (#4812) * Don't mark as rendered for reflection probes as we want the cached version to be from main view * Do the thing just for directional * Doc update * changelog Co-authored-by: sebastienlagarde <[email protected]> * Fix cropping issue with the compositor camera bridge (#4802) Co-authored-by: sebastienlagarde <[email protected]> * Fix for unused resources in depth of field (#4796) * Removing the word Radii from exposure settings (#4854) * Rename in UX * Update docs * [HDRP][Path Tracing] Support for shadow mattes (#4745) * Shadow matte support. * Updated changelog. * Only take occluders into account, closer match to raster mode. * Added test scene. Co-authored-by: sebastienlagarde <[email protected]> * Revert "[HDRP][Path Tracing] Support for shadow mattes (#4745)" This reverts commit 85ebbc2. * Fixed the transparent cutoff not working properly in semi-transparent and color shadows (case 1340234). (#4756) * Fixed the transparent cutoff not working properly in semi-transparent and color shadows (case 1340234). * Update test ref image Co-authored-by: Remi Chapelain <[email protected]> Co-authored-by: sebastienlagarde <[email protected]> * Use non jittered projection in outline pass (#4836) Co-authored-by: sebastienlagarde <[email protected]> * [HDRP][Path Tracing] Sky settings now properly taken into account when using recorder (#4856) * Make sure sky settings are correctly set when recording. * Updated changelog. Co-authored-by: sebastienlagarde <[email protected]> * Fix Resolution Issues for Physically Based Depth of Field (#4848) * Add the necesarry texture coordinate clamping for RTHandle for color pyramid sampling * Add some resolution independence, fitted for 1920x1080 * Changelog * Switch back to point sampling from trilinear, with commentary * Update test reference images * Small correction to the point sampling, always sample mip 0. * Re-update the test images, for mip 0 color sampling * Use a simpler UV scaling/clamping since we are now point sampling. Co-authored-by: sebastienlagarde <[email protected]> * Fixed bug introduced by sky-for-recorder support. (#4906) * [Fogbugz 1341576] Memory leaks when the player is paused, and the user changes pipeline… (#4845) * Memory leaks when the player is paused, and the user changes pipeline settings * changelog * [HDRP] Fixed shadergraph double save (#4916) * Don't need to save twice shadergraph the first time we create a graph * Updated changelog * Write 0 instead of micro sized motion vectors + fix extremely fast velocities (#4820) * Kill micromovements. * Do same for camera * Debug view update * Changelog * Remove unnecessary comment * Fix excessive velocity end up marked as no velocity Co-authored-by: sebastienlagarde <[email protected]> * [HDRP] Fix material upgrader (#4821) * Fix HDRP material upgrade failing when there is a texture inside the builtin resources assigned in the material * Updated changelog Co-authored-by: sebastienlagarde <[email protected]> * [HDRP] Fix custom pass volume not executed in scene view (#4860) * Fix custom pass volume not executed in scene view because of the volume culling mask * Updated changelog Co-authored-by: sebastienlagarde <[email protected]> * Fix reflection probe tootltip (#4890) Co-authored-by: sebastienlagarde <[email protected]> * Updated the Physically Based Sky documentation for baked lights (#4891) * Updated the Physically Based Sky documentation for baked lights * Rewrite Co-authored-by: sebastienlagarde <[email protected]> * Fixed remapping of depth pyramid debug (#4893) * Fixed remapping of depth pyramid debug * Removed debug pragma * Update changelog * Updated tooltip * Fix wobble-like (or tearing-like) SSAO issues when temporal reprojection is enabled. (#4895) * Fix AO perceived wobble * changelog Co-authored-by: sebastienlagarde <[email protected]> * Fix Asymmetric Projection Matrices and Fog / Pathtracing (#4926) * Check for asymmetric projections and choose the generic path if so. * Fix asymmetric projections for the pathtracer ray generation. * Changelog * Simplify the matrix multiplication for computing the generic matrix. Co-authored-by: sebastienlagarde <[email protected]> * Revert: Fix wobble-like (or tearing-like) SSAO issues when temporal reprojection… * Fix range for HDRP Asset settings * Fix GBuffer depth debug mode (#5054) * Fixed Volume Gizmo size when rescaling parent GameObject (#4915) * Fix Vertex Color Mode documentation (#4976) * Fix wobble-like (or tearing-like) SSAO issues when temporal reprojection is enabled. (#4986) * Fix AO perceived wobble * changelog * Update screenshots Co-authored-by: sebastienlagarde <[email protected]> * Fix formatting in NestedOverrideCameraRendering * code doc Co-authored-by: Pavlos Mavridis <[email protected]> Co-authored-by: FrancescoC-unity <[email protected]> Co-authored-by: sebastienlagarde <[email protected]> Co-authored-by: John Parsaie <[email protected]> Co-authored-by: anisunity <[email protected]> Co-authored-by: Antoine Lelievre <[email protected]> Co-authored-by: CifaCia <[email protected]> Co-authored-by: slunity <[email protected]> Co-authored-by: Remi Chapelain <[email protected]> Co-authored-by: Emmanuel Turquin <[email protected]> Co-authored-by: Adrian1066 <[email protected]> Co-authored-by: Kleber Garcia <[email protected]> Co-authored-by: Julien Ignace <[email protected]>
1 parent da5b9ce commit 53f45f9

File tree

7 files changed

+116
-50
lines changed

7 files changed

+116
-50
lines changed

com.unity.render-pipelines.high-definition/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
298298
- Fixed white flash with SSR when resetting camera history (case 1335263).
299299
- Fixed VFX flag "Exclude From TAA" not working for some particle types.
300300
- Fixed Dof and MSAA. DoF is now using the min depth of the per-pixel MSAA samples when MSAA is enabled. This removes 1-pixel ringing from in focus objects (case 1347291).
301+
- Fixed parameter ranges in HDRP Asset settings.
301302

302303
### Changed
303304
- Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard

com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ public class Styles
114114
// Fog
115115
public static readonly GUIContent FogSettingsSubTitle = EditorGUIUtility.TrTextContent("Volumetric Fog");
116116
public static readonly GUIContent FogSettingsBudget = EditorGUIUtility.TrTextContent("Volumetric Fog Budget");
117-
public static readonly GUIContent FogSettingsRatio = EditorGUIUtility.TrTextContent("Volumetric Fog Ratio");
117+
public static readonly GUIContent FogSettingsRatio = EditorGUIUtility.TrTextContent("Resolution Depth Ratio");
118118

119119
public static readonly GUIContent materialQualityLevelContent = EditorGUIUtility.TrTextContent("Default Material Quality Level", "");
120120

com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,10 @@ static void Drawer_SectionShadows(SerializedHDRenderPipelineAsset serialized, Ed
339339
{
340340
EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportShadowMask, Styles.supportShadowMaskContent);
341341

342+
EditorGUI.BeginChangeCheck();
342343
EditorGUILayout.DelayedIntField(serialized.renderPipelineSettings.hdShadowInitParams.maxShadowRequests, Styles.maxRequestContent);
344+
if (EditorGUI.EndChangeCheck())
345+
serialized.renderPipelineSettings.hdShadowInitParams.maxShadowRequests.intValue = Mathf.Max(1, serialized.renderPipelineSettings.hdShadowInitParams.maxShadowRequests.intValue);
343346

344347
if (!serialized.renderPipelineSettings.supportedLitShaderMode.hasMultipleDifferentValues)
345348
{
@@ -374,7 +377,11 @@ static void DrawLightShadow(
374377
using (new EditorGUI.IndentLevelScope())
375378
{
376379
scalableSetting.ValueGUI<int>(Styles.shadowResolutionTiers);
380+
381+
EditorGUI.BeginChangeCheck();
377382
EditorGUILayout.DelayedIntField(resolutionProperty, Styles.maxShadowResolution);
383+
if (EditorGUI.EndChangeCheck())
384+
resolutionProperty.intValue = Mathf.Max(1, resolutionProperty.intValue);
378385

379386
EditorGUILayout.LabelField(Styles.shadowLightAtlasSubTitle, EditorStyles.boldLabel);
380387

@@ -689,14 +696,14 @@ static void Drawer_SectionVTSettings(SerializedHDRenderPipelineAsset serialized,
689696
static void DrawDepthOfFieldQualitySetting(SerializedHDRenderPipelineAsset serialized, int tier)
690697
{
691698
{
692-
EditorGUILayout.LabelField(Styles.nearBlurSubTitle);
699+
EditorGUILayout.LabelField(Styles.nearBlurSubTitle, EditorStyles.miniLabel);
693700
++EditorGUI.indentLevel;
694701
{
695702
EditorGUILayout.PropertyField(serialized.renderPipelineSettings.postProcessQualitySettings.NearBlurSampleCount.GetArrayElementAtIndex(tier), Styles.sampleCountQuality);
696703
EditorGUILayout.PropertyField(serialized.renderPipelineSettings.postProcessQualitySettings.NearBlurMaxRadius.GetArrayElementAtIndex(tier), Styles.maxRadiusQuality);
697704
}
698705
--EditorGUI.indentLevel;
699-
EditorGUILayout.LabelField(Styles.farBlurSubTitle);
706+
EditorGUILayout.LabelField(Styles.farBlurSubTitle, EditorStyles.miniLabel);
700707
++EditorGUI.indentLevel;
701708
{
702709
EditorGUILayout.PropertyField(serialized.renderPipelineSettings.postProcessQualitySettings.FarBlurSampleCount.GetArrayElementAtIndex(tier), Styles.sampleCountQuality);
@@ -864,8 +871,27 @@ static void Drawer_SectionRenderingUnsorted(SerializedHDRenderPipelineAsset seri
864871
--EditorGUI.indentLevel;
865872
}
866873

874+
EditorGUI.BeginChangeCheck();
867875
serialized.renderPipelineSettings.lodBias.ValueGUI<float>(Styles.LODBias);
876+
if (EditorGUI.EndChangeCheck())
877+
{
878+
for (var i = 0; i < serialized.renderPipelineSettings.lodBias.GetSchemaLevelCount(); ++i)
879+
{
880+
var prop = serialized.renderPipelineSettings.lodBias.values.GetArrayElementAtIndex(i);
881+
prop.SetInline(Mathf.Max(0.01f, prop.GetInline<float>()));
882+
}
883+
}
884+
885+
EditorGUI.BeginChangeCheck();
868886
serialized.renderPipelineSettings.maximumLODLevel.ValueGUI<int>(Styles.maximumLODLevel);
887+
if (EditorGUI.EndChangeCheck())
888+
{
889+
for (var i = 0; i < serialized.renderPipelineSettings.maximumLODLevel.GetSchemaLevelCount(); ++i)
890+
{
891+
var prop = serialized.renderPipelineSettings.maximumLODLevel.values.GetArrayElementAtIndex(i);
892+
prop.SetInline(Mathf.Clamp(prop.GetInline<int>(), 0, 7));
893+
}
894+
}
869895

870896
EditorGUILayout.Space(); //to separate with following sub sections
871897
}

com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedScalableSetting.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,14 @@ public bool TryGetLevelValue<T>(int level, out T value)
5353
return false;
5454
}
5555
}
56+
57+
public int GetSchemaLevelCount()
58+
{
59+
var schema = ScalableSettingSchema.GetSchemaOrNull(new ScalableSettingSchemaId(schemaId.stringValue))
60+
?? ScalableSettingSchema.GetSchemaOrNull(ScalableSettingSchemaId.With3Levels);
61+
62+
return schema.levelCount;
63+
}
5664
}
5765

5866
internal static class SerializedScalableSettingUI

com.unity.render-pipelines.high-definition/Runtime/PostProcessing/GlobalPostProcessSettings.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ public struct GlobalPostProcessSettings
7676
/// </summary>
7777
public const int k_MaxLutSize = 65;
7878

79+
[Range(k_MinLutSize, k_MaxLutSize)]
7980
[SerializeField]
8081
int m_LutSize;
8182

com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalLightingQualitySettings.cs

Lines changed: 57 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -172,28 +172,35 @@ internal GlobalLightingQualitySettings()
172172
internal static GlobalLightingQualitySettings NewDefault() => new GlobalLightingQualitySettings();
173173

174174
// SSAO
175-
/// <summary>Ambient Occlusion step count for each quality level.</summary>
175+
/// <summary>Ambient Occlusion step count for each quality level. The array must have one entry per scalable setting level, and elements must be between 2 and 32.</summary>
176+
[Range(2, 32)]
176177
public int[] AOStepCount = new int[s_QualitySettingCount];
177-
/// <summary>Ambient Occlusion uses full resolution buffer for each quality level.</summary>
178+
/// <summary>Ambient Occlusion uses full resolution buffer for each quality level. The array must have one entry per scalable setting level.</summary>
178179
public bool[] AOFullRes = new bool[s_QualitySettingCount];
179-
/// <summary>Ambient Occlusion maximum radius for each quality level.</summary>
180+
/// <summary>Ambient Occlusion maximum radius for each quality level. The array must have one entry per scalable setting level, and elements must be between 16 and 256.</summary>
181+
[Range(16, 256)]
180182
public int[] AOMaximumRadiusPixels = new int[s_QualitySettingCount];
181-
/// <summary>Ambient Occlusion uses bilateral upsample for each quality level.</summary>
183+
/// <summary>Ambient Occlusion uses bilateral upsample for each quality level. The array must have one entry per scalable setting level.</summary>
182184
public bool[] AOBilateralUpsample = new bool[s_QualitySettingCount];
183-
/// <summary>Ambient Occlusion direction count for each quality level.</summary>
185+
/// <summary>Ambient Occlusion direction count for each quality level. The array must have one entry per scalable setting level, and elements must be between 1 and 6.</summary>
186+
[Range(1, 6)]
184187
public int[] AODirectionCount = new int[s_QualitySettingCount];
185188

186189
// Contact Shadows
187-
/// <summary>Contact shadow sample count for each quality level.</summary>
190+
/// <summary>Contact shadow sample count for each quality level. The array must have one entry per scalable setting level, and elements must be between 4 and 64.</summary>
191+
[Range(4, 64)]
188192
public int[] ContactShadowSampleCount = new int[s_QualitySettingCount];
189193

190194
// Screen Space Reflections
191-
/// <summary>Maximum number of rays for Screen Space Reflection for each quality level.</summary>
195+
/// <summary>Maximum number of rays for Screen Space Reflection for each quality level. The array must have one entry per scalable setting level, and elements must above 0.</summary>
196+
[Min(0)]
192197
public int[] SSRMaxRaySteps = new int[s_QualitySettingCount];
193198

194199
// Screen Space Global Illumination
195-
/// <summary>Screen space global illumination step count for the ray marching.</summary>
200+
/// <summary>Screen space global illumination step count for the ray marching. The array must have one entry per scalable setting level, and elements must above 0.</summary>
201+
[Min(0)]
196202
public int[] SSGIRaySteps = new int[s_QualitySettingCount];
203+
197204
/// <summary>Flag that enables the first denoising pass.</summary>
198205
public bool[] SSGIDenoise = new bool[s_QualitySettingCount];
199206
/// <summary>Flag that defines if the denoiser should be evaluated at half resolution.</summary>
@@ -204,62 +211,79 @@ internal GlobalLightingQualitySettings()
204211
public bool[] SSGISecondDenoise = new bool[s_QualitySettingCount];
205212

206213
// Ray Traced Ambient Occlusion
207-
/// <summary>Controls the length of ray traced ambient occlusion rays.</summary>
214+
/// <summary>Controls the length of ray traced ambient occlusion rays. The array must have one entry per scalable setting level, and elements must above 0.01.</summary>
215+
[Min(0.01f)]
208216
public float[] RTAORayLength = new float[s_QualitySettingCount];
209-
/// <summary>Number of samples for evaluating the effect.</summary>
217+
/// <summary>Number of samples for evaluating the effect. The array must have one entry per scalable setting level, and elements must be between 1 and 64.</summary>
218+
[Range(1, 64)]
210219
public int[] RTAOSampleCount = new int[s_QualitySettingCount];
211-
/// <summary>Defines if the ray traced ambient occlusion should be denoised.</summary>
220+
/// <summary>Defines if the ray traced ambient occlusion should be denoised. The array must have one entry per scalable setting level.</summary>
212221
public bool[] RTAODenoise = new bool[s_QualitySettingCount];
213-
/// <summary>Controls the radius of the ray traced ambient occlusion denoiser.</summary>
222+
/// <summary>Controls the radius of the ray traced ambient occlusion denoiser. The array must have one entry per scalable setting level, and elements must be between 0.001 and 1.</summary>
223+
[Range(0.001f, 1.0f)]
214224
public float[] RTAODenoiserRadius = new float[s_QualitySettingCount];
215225

216226
// Ray Traced Global Illumination
217-
/// <summary>Controls the length of ray traced global illumination rays.</summary>
227+
/// <summary>Controls the length of ray traced global illumination rays. The array must have one entry per scalable setting level, and elements must above 0.01.</summary>
228+
[Min(0.01f)]
218229
public float[] RTGIRayLength = new float[s_QualitySettingCount];
219-
/// <summary>Controls if the effect should be computed at full resolution.</summary>
230+
/// <summary>Controls if the effect should be computed at full resolution. The array must have one entry per scalable setting level.</summary>
220231
public bool[] RTGIFullResolution = new bool[s_QualitySettingCount];
221-
/// <summary>Clamp value used to reduce the variance in the integration signal.</summary>
232+
/// <summary>Clamp value used to reduce the variance in the integration signal. The array must have one entry per scalable setting level, and elements must be between 0.001 and 10.</summary>
233+
[Range(0.001f, 10.0f)]
222234
public float[] RTGIClampValue = new float[s_QualitySettingCount];
223-
/// <summary>Radius for the up-sample pass.</summary>
235+
/// <summary>Radius for the up-sample pass. The array must have one entry per scalable setting level, and elements must be between 2 and 4.</summary>
236+
[Range(2, 4)]
224237
public int[] RTGIUpScaleRadius = new int[s_QualitySettingCount];
225-
/// <summary>Controls the number of ray steps for hybrid tracing.</summary>
238+
/// <summary>Controls the number of ray steps for hybrid tracing. The array must have one entry per scalable setting level, and elements must above 0.</summary>
239+
[Min(0)]
226240
public int[] RTGIRaySteps = new int[s_QualitySettingCount];
227-
/// <summary>Flag that enables the first denoising pass.</summary>
241+
/// <summary>Flag that enables the first denoising pass. The array must have one entry per scalable setting level.</summary>
228242
public bool[] RTGIDenoise = new bool[s_QualitySettingCount];
229-
/// <summary>Flag that defines if the denoiser should be evaluated at half resolution.</summary>
243+
/// <summary>Flag that defines if the denoiser should be evaluated at half resolution. The array must have one entry per scalable setting level.</summary>
230244
public bool[] RTGIHalfResDenoise = new bool[s_QualitySettingCount];
231-
/// <summary>Flag that defines the radius of the first denoiser.</summary>
245+
/// <summary>Flag that defines the radius of the first denoiser. The array must have one entry per scalable setting level, and elements must be between 0.001 and 1.0.</summary>
246+
[Range(0.001f, 1.0f)]
232247
public float[] RTGIDenoiserRadius = new float[s_QualitySettingCount];
233-
/// <summary>Flag that enables the second denoising pass.</summary>
248+
/// <summary>Flag that enables the second denoising pass. The array must have one entry per scalable setting level.</summary>
234249
public bool[] RTGISecondDenoise = new bool[s_QualitySettingCount];
235250

236251
// Ray Traced Reflections
237-
/// <summary>Controls the minimal smoothness.</summary>
252+
/// <summary>Controls the minimal smoothness. The array must have one entry per scalable setting level, and elements must be between 0 and 1.</summary>
253+
[Range(0.0f, 1.0f)]
238254
public float[] RTRMinSmoothness = new float[s_QualitySettingCount];
239-
/// <summary>Controls the minimal smoothness.</summary>
255+
/// <summary>Controls the minimal smoothness. The array must have one entry per scalable setting level, and elements must be between 0 and 1.</summary>
256+
[Range(0.0f, 1.0f)]
240257
public float[] RTRSmoothnessFadeStart = new float[s_QualitySettingCount];
241-
/// <summary>Controls the length of ray traced reflection rays.</summary>
258+
/// <summary>Controls the length of ray traced reflection rays. The array must have one entry per scalable setting level, and elements must above 0.01.</summary>
259+
[Min(0.01f)]
242260
public float[] RTRRayLength = new float[s_QualitySettingCount];
243-
/// <summary>Clamp value used to reduce the variance in the integration signal.</summary>
261+
/// <summary>Clamp value used to reduce the variance in the integration signal. The array must have one entry per scalable setting level, and elements must be between 0.001 and 10.</summary>
262+
[Range(0.001f, 10.0f)]
244263
public float[] RTRClampValue = new float[s_QualitySettingCount];
245-
/// <summary>Controls if the effect should be computed at full resolution.</summary>
264+
/// <summary>Controls if the effect should be computed at full resolution. The array must have one entry per scalable setting level.</summary>
246265
public bool[] RTRFullResolution = new bool[s_QualitySettingCount];
247-
/// <summary>Controls if the effect should be computed at full resolution.</summary>
266+
/// <summary>Controls if the effect should be computed at full resolution. The array must have one entry per scalable setting level, and elements must above 0.</summary>
267+
[Min(0)]
248268
public int[] RTRRayMaxIterations = new int[s_QualitySettingCount];
249-
/// <summary>Flag that enables the first denoising pass.</summary>
269+
/// <summary>Flag that enables the first denoising pass. The array must have one entry per scalable setting level.</summary>
250270
public bool[] RTRDenoise = new bool[s_QualitySettingCount];
251-
/// <summary>Flag that defines the radius of the first denoiser.</summary>
271+
/// <summary>Flag that defines the radius of the first denoiser. The array must have one entry per scalable setting level, and elements must be between 1 and 32.</summary>
272+
[Range(1, 32)]
252273
public int[] RTRDenoiserRadius = new int[s_QualitySettingCount];
253-
/// <summary>Flag that defines smooth denoising status.</summary>
274+
/// <summary>Flag that defines smooth denoising status. The array must have one entry per scalable setting level.</summary>
254275
public bool[] RTRSmoothDenoising = new bool[s_QualitySettingCount];
255276

256277
// TODO: Volumetric fog quality
257-
/// <summary>Controls which control mode should be used to define the volumetric fog parameters.</summary>
278+
/// <summary>Controls which control mode should be used to define the volumetric fog parameters. The array must have one entry per scalable setting level.</summary>
258279
public FogControl[] Fog_ControlMode = new FogControl[s_QualitySettingCount];
259-
/// <summary>Controls the budget of the volumetric fog effect.</summary>
280+
/// <summary>Controls the budget of the volumetric fog effect. The array must have one entry per scalable setting level, and elements must be between 0 and 1.</summary>
281+
[Range(0.0f, 1.0f)]
260282
public float[] Fog_Budget = new float[s_QualitySettingCount];
261-
/// <summary>Controls how the budget is shared between screen resolution and depth.</summary>
283+
/// <summary>Controls how the budget is shared between screen resolution and depth. The array must have one entry per scalable setting level, and elements must be between 0 and 1.</summary>
284+
[Range(0.0f, 1.0f)]
262285
public float[] Fog_DepthRatio = new float[s_QualitySettingCount];
286+
263287
// TODO: Shadows. This needs to be discussed further as there is an idiosyncracy here as we have different level of quality settings,
264288
//some for resolution per light (4 levels) some per volume (which are 3 levels everywhere). This needs to be discussed more.
265289
}

0 commit comments

Comments
 (0)