[Bf-blender-cvs] [7320ecee9be] master: EEVEE: ShaderToRGB alpha inversed

Jeroen Bakker noreply at git.blender.org
Tue Oct 20 15:17:46 CEST 2020


Commit: 7320ecee9bef489b00d3ef2eb90890361c4d86ba
Author: Jeroen Bakker
Date:   Tue Oct 20 15:10:30 2020 +0200
Branches: master
https://developer.blender.org/rB7320ecee9bef489b00d3ef2eb90890361c4d86ba

EEVEE: ShaderToRGB alpha inversed

The alpha out socket output the average transmittance, not the alpha.
This patch will convert the transmittance to alpha.

Found during research of T80919; Issue introduced when `Closure.opacity` was migrated to `Closure.transmittance`.

Reviewed By: Clément Foucault

Differential Revision: https://developer.blender.org/D9010

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

M	source/blender/gpu/shaders/material/gpu_shader_material_shader_to_rgba.glsl

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

diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_shader_to_rgba.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_shader_to_rgba.glsl
index 4f6df238789..f495157f6e1 100644
--- a/source/blender/gpu/shaders/material/gpu_shader_material_shader_to_rgba.glsl
+++ b/source/blender/gpu/shaders/material/gpu_shader_material_shader_to_rgba.glsl
@@ -11,7 +11,7 @@ void node_shader_to_rgba(Closure cl, out vec4 outcol, out float outalpha)
     fallback_cubemap(N, V, worldPosition, viewPosition, roughness, roughnessSquared, spec_accum);
   }
 
-  outalpha = avg(cl.transmittance);
+  outalpha = saturate(1.0 - avg(cl.transmittance));
   outcol = vec4((spec_accum.rgb * cl.ssr_data.rgb) + cl.radiance, 1.0);
 
 #  ifdef USE_SSS



More information about the Bf-blender-cvs mailing list