[Bf-blender-cvs] [651f1b5cf9f] blender-v2.93-release: EEVEE fix gloss low roughness error

Jake noreply at git.blender.org
Wed Sep 22 08:50:27 CEST 2021


Commit: 651f1b5cf9f67fb3cdec486985d68eda6adf75a6
Author: Jake
Date:   Wed Sep 22 08:22:09 2021 +0200
Branches: blender-v2.93-release
https://developer.blender.org/rB651f1b5cf9f67fb3cdec486985d68eda6adf75a6

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 cdc453eed40..609cbc53cc2 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