[Bf-blender-cvs] [d02711ed883] blender2.8: Eevee: Fix the NaN pixel issue.

Clément Foucault noreply at git.blender.org
Thu Jul 6 16:01:43 CEST 2017


Commit: d02711ed883ee0d1844d49d39a8814aca5b029c3
Author: Clément Foucault
Date:   Thu Jul 6 16:01:21 2017 +0200
Branches: blender2.8
https://developer.blender.org/rBd02711ed883ee0d1844d49d39a8814aca5b029c3

Eevee: Fix the NaN pixel issue.

It's cause by degenerate triangle having normals set to (0,0,0) which may not be compressed like it should.
This fix the problem in the final indirect lighting evaluation which might be costly.

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

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

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

diff --git a/source/blender/draw/engines/eevee/shaders/irradiance_lib.glsl b/source/blender/draw/engines/eevee/shaders/irradiance_lib.glsl
index 95e7af41398..53352244f3d 100644
--- a/source/blender/draw/engines/eevee/shaders/irradiance_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/irradiance_lib.glsl
@@ -116,9 +116,9 @@ vec3 hl2_basis(vec3 N, vec3 cubesides[3])
 
 	vec3 n_squared = N * N;
 
-	irradiance += n_squared.x * cubesides[0];
-	irradiance += n_squared.y * cubesides[1];
-	irradiance += n_squared.z * cubesides[2];
+	irradiance += max(1e-8, n_squared.x) * cubesides[0];
+	irradiance += max(1e-8, n_squared.y) * cubesides[1];
+	irradiance += max(1e-8, n_squared.z) * cubesides[2];
 
 	return irradiance;
 }




More information about the Bf-blender-cvs mailing list