[Bf-blender-cvs] [82f569d75e6] master: Fix T65631 Eevee: Translucent shader broken in Eevee when AO is enabled
Clément Foucault
noreply at git.blender.org
Tue Jun 18 22:28:38 CEST 2019
Commit: 82f569d75e68a3e7e3f2435e17fa16e9a47376f4
Author: Clément Foucault
Date: Tue Jun 18 18:28:35 2019 +0200
Branches: master
https://developer.blender.org/rB82f569d75e68a3e7e3f2435e17fa16e9a47376f4
Fix T65631 Eevee: Translucent shader broken in Eevee when AO is enabled
===================================================================
M source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
===================================================================
diff --git a/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl b/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
index e96667c0488..6b3d9ee4517 100644
--- a/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
+++ b/source/blender/draw/engines/eevee/shaders/lit_surface_frag.glsl
@@ -441,8 +441,10 @@ void CLOSURE_NAME(vec3 N
/* Ambient Occlusion */
/* ---------------------------- */
#if defined(CLOSURE_GLOSSY) || defined(CLOSURE_DIFFUSE)
+ /* HACK: Fix for translucent BSDF. (see T65631) */
+ bool same_side = dot((gl_FrontFacing) ? worldNormal : -worldNormal, N) > 0.0;
vec3 bent_normal;
- float final_ao = occlusion_compute(N, viewPosition, ao, rand, bent_normal);
+ float final_ao = occlusion_compute(same_side ? N : -N, viewPosition, ao, rand, bent_normal);
#endif
/* ---------------------------- */
More information about the Bf-blender-cvs
mailing list