[Bf-blender-cvs] [1f9119a0598] greasepencil-object: Fix multiply error when blend layer do not cover below layer

Antonioya noreply at git.blender.org
Sun Nov 25 20:12:15 CET 2018


Commit: 1f9119a0598fbf841328f6c4479e719b027094e3
Author: Antonioya
Date:   Sun Nov 25 20:12:04 2018 +0100
Branches: greasepencil-object
https://developer.blender.org/rB1f9119a0598fbf841328f6c4479e719b027094e3

Fix multiply error when blend layer do not cover below layer

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

M	source/blender/draw/engines/gpencil/shaders/gpencil_blend_frag.glsl

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

diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_blend_frag.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_blend_frag.glsl
index a8f2cdc1938..9e5634b7375 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_blend_frag.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_blend_frag.glsl
@@ -38,7 +38,10 @@ vec4 get_blend_color(int mode, vec4 src_color, vec4 blend_color)
 	vec4 mix_color = blend_color;
 	vec4 outcolor;
 
-	if (mode == MODE_OVERLAY) {
+    if (mix_color.a == 0) {
+		outcolor = src_color;
+	}
+	else if (mode == MODE_OVERLAY) {
 		mix_color.rgb = mix_color.rgb * mix_color.a * blend_opacity;
 		outcolor.r = overlay_color(src_color.r, mix_color.r);
 		outcolor.g = overlay_color(src_color.g, mix_color.g);



More information about the Bf-blender-cvs mailing list