[Bf-blender-cvs] [4ddc8403148] master: Fix T65378 Eevee: Glitches in ESM shadowmapping

Clément Foucault noreply at git.blender.org
Tue Jun 4 18:43:11 CEST 2019


Commit: 4ddc8403148f3d2e7a2d1385328cf64429c48f2b
Author: Clément Foucault
Date:   Tue Jun 4 18:39:48 2019 +0200
Branches: master
https://developer.blender.org/rB4ddc8403148f3d2e7a2d1385328cf64429c48f2b

Fix T65378 Eevee: Glitches in ESM shadowmapping

This happen to be a NaN caused by an infinite sum in the shadow
copy shader.

===================================================================

M	source/blender/draw/engines/eevee/shaders/shadow_copy_frag.glsl

===================================================================

diff --git a/source/blender/draw/engines/eevee/shaders/shadow_copy_frag.glsl b/source/blender/draw/engines/eevee/shaders/shadow_copy_frag.glsl
index dd24288b4b9..54f7dc10222 100644
--- a/source/blender/draw/engines/eevee/shaders/shadow_copy_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/shadow_copy_frag.glsl
@@ -194,6 +194,6 @@ void main()
 #ifdef ESM
   accum = ln_space_prefilter_finalize(ref, accum);
 #endif
-
-  FragColor = vec2(accum).xyxy;
+  /* Clamp infinite sum. */
+  FragColor = vec2(clamp(accum, 0.0, 1e16)).xyxy;
 }



More information about the Bf-blender-cvs mailing list