[Bf-blender-cvs] [8fa65ed31b7] master: Fix T65118 Eevee: NaN when using bent normals

Clément Foucault noreply at git.blender.org
Wed Jun 5 21:33:09 CEST 2019


Commit: 8fa65ed31b7f3aa52669be267f431f0888baa06b
Author: Clément Foucault
Date:   Wed Jun 5 21:31:19 2019 +0200
Branches: master
https://developer.blender.org/rB8fa65ed31b7f3aa52669be267f431f0888baa06b

Fix T65118 Eevee: NaN when using bent normals

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

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

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

diff --git a/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl b/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
index 944caca6dab..acfc2af93ee 100644
--- a/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
@@ -198,8 +198,8 @@ void gtao_deferred(
   dirs.xy = get_ao_dir(noise.x * 0.5);
   dirs.zw = get_ao_dir(noise.x * 0.5 + 0.5);
 
-  bent_normal = vec3(0.0);
-  visibility = 0.0;
+  bent_normal = normal * 1e-8;
+  visibility = 1e-8;
 
   horizons = unpack_horizons(horizons);
 
@@ -217,8 +217,8 @@ void gtao(vec3 normal, vec3 position, vec4 noise, out float visibility, out vec3
   vec2 max_dir = get_max_dir(position.z);
   vec2 dir = get_ao_dir(noise.x);
 
-  bent_normal = vec3(0.0);
-  visibility = 0.0;
+  bent_normal = normal * 1e-8;
+  visibility = 1e-8;
 
   /* Only trace in 2 directions. May lead to a darker result but since it's mostly for
    * alpha blended objects that will have overdraw, we limit the performance impact. */



More information about the Bf-blender-cvs mailing list