diff options
author | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2021-10-07 17:57:49 +0200 |
---|---|---|
committer | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2021-10-07 17:59:55 +0200 |
commit | 0269d8e871e9df663af7ee90cb4156fb3a6288f8 (patch) | |
tree | 29721e1e5136b5e7fb4351b76cc1cbcb4572a105 | |
parent | f323d25dd3ba2be5ff491d34df2fbcc3b5ab1efc (diff) |
Clamp Environment's SSR fade-in and fade-out to positive values
Negative values result in rendering glitches.
-rw-r--r-- | doc/classes/Environment.xml | 4 | ||||
-rw-r--r-- | scene/resources/environment.cpp | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml index 2c4e5ea886..8231a90438 100644 --- a/doc/classes/Environment.xml +++ b/doc/classes/Environment.xml @@ -204,10 +204,10 @@ If [code]true[/code], screen-space reflections are enabled. Screen-space reflections are more accurate than reflections from [VoxelGI]s or [ReflectionProbe]s, but are slower and can't reflect surfaces occluded by others. </member> <member name="ss_reflections_fade_in" type="float" setter="set_ssr_fade_in" getter="get_ssr_fade_in" default="0.15"> - The fade-in distance for screen-space reflections. Affects the area from the reflected material to the screen-space reflection). + The fade-in distance for screen-space reflections. Affects the area from the reflected material to the screen-space reflection). Only positive values are valid (negative values will be clamped to [code]0.0[/code]). </member> <member name="ss_reflections_fade_out" type="float" setter="set_ssr_fade_out" getter="get_ssr_fade_out" default="2.0"> - The fade-out distance for screen-space reflections. Affects the area from the screen-space reflection to the "global" reflection. + The fade-out distance for screen-space reflections. Affects the area from the screen-space reflection to the "global" reflection. Only positive values are valid (negative values will be clamped to [code]0.0[/code]). </member> <member name="ss_reflections_max_steps" type="int" setter="set_ssr_max_steps" getter="get_ssr_max_steps" default="64"> The maximum number of steps for screen-space reflections. Higher values are slower. diff --git a/scene/resources/environment.cpp b/scene/resources/environment.cpp index cab6c0378a..6980b9e996 100644 --- a/scene/resources/environment.cpp +++ b/scene/resources/environment.cpp @@ -302,7 +302,7 @@ int Environment::get_ssr_max_steps() const { } void Environment::set_ssr_fade_in(float p_fade_in) { - ssr_fade_in = p_fade_in; + ssr_fade_in = MAX(p_fade_in, 0.0f); _update_ssr(); } @@ -311,7 +311,7 @@ float Environment::get_ssr_fade_in() const { } void Environment::set_ssr_fade_out(float p_fade_out) { - ssr_fade_out = p_fade_out; + ssr_fade_out = MAX(p_fade_out, 0.0f); _update_ssr(); } |