[Bf-blender-cvs] [4c156cba21f] master: EEVEE fix gloss low roughness error
Jake
noreply at git.blender.org
Wed Sep 22 08:22:23 CEST 2021
Commit: 4c156cba21f7ada1057ca91360bc0a6d48962fb5
Author: Jake
Date: Wed Sep 22 08:22:09 2021 +0200
Branches: master
https://developer.blender.org/rB4c156cba21f7ada1057ca91360bc0a6d48962fb5
EEVEE fix gloss low roughness error
Up lower clamp on spec_angle to prevent NaN from being generated on intel GPUs at low roughness.
Fixes T88754
Reviewed By: fclem
Maniphest Tasks: T88754
Differential Revision: https://developer.blender.org/D12508
===================================================================
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 d4e3b879426..93641443cac 100644
--- a/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
+++ b/source/blender/draw/engines/eevee/shaders/ambient_occlusion_lib.glsl
@@ -379,7 +379,7 @@ float specular_occlusion(
/* Visibility to cone angle (eq. 18). */
float vis_angle = fast_acos(sqrt(1 - visibility));
/* Roughness to cone angle (eq. 26). */
- float spec_angle = max(0.001, fast_acos(cone_cosine(roughness)));
+ float spec_angle = max(0.00990998744964599609375, fast_acos(cone_cosine(roughness)));
/* Angle between cone axes. */
float cone_cone_dist = fast_acos(saturate(dot(visibility_dir, specular_dir)));
float cone_nor_dist = fast_acos(saturate(dot(N, specular_dir)));
More information about the Bf-blender-cvs
mailing list