[Bf-blender-cvs] [6b242324745] greasepencil-refactor: GPencil: Refactor: Fix blend modes broken

Clément Foucault noreply at git.blender.org
Tue Feb 11 17:18:37 CET 2020


Commit: 6b24232474574fcceae243017c03f0842c652dce
Author: Clément Foucault
Date:   Tue Feb 11 17:18:26 2020 +0100
Branches: greasepencil-refactor
https://developer.blender.org/rB6b24232474574fcceae243017c03f0842c652dce

GPencil: Refactor: Fix blend modes broken

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

M	source/blender/draw/engines/gpencil/gpencil_engine.c
M	source/blender/draw/engines/gpencil/shaders/gpencil_layer_blend_frag.glsl

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

diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c
index 17a0ca25892..5c69a956d75 100644
--- a/source/blender/draw/engines/gpencil/gpencil_engine.c
+++ b/source/blender/draw/engines/gpencil/gpencil_engine.c
@@ -880,7 +880,8 @@ static void gpencil_draw_mask(GPENCIL_Data *vedata, GPENCIL_tObject *ob, GPENCIL
     DRW_draw_pass(mask_layer->geom_ps);
   }
 
-  if (inverted) {
+  if (!inverted) {
+    /* Blend shader expect an opacity mask not a reavealage buffer. */
     DRW_draw_pass(psl->mask_invert_ps);
   }
 
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_layer_blend_frag.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_layer_blend_frag.glsl
index 019e55ec0cd..6fbc7f47dac 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_layer_blend_frag.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_layer_blend_frag.glsl
@@ -2,7 +2,6 @@
 uniform sampler2D colorBuf;
 uniform sampler2D revealBuf;
 uniform sampler2D maskBuf;
-uniform bool maskInvert;
 uniform int blendMode;
 uniform float blendOpacity;
 
@@ -22,7 +21,7 @@ void main()
   /* Stroke only render mono-chromatic revealage. We convert to alpha. */
   color.a = 1.0 - textureLod(revealBuf, uvcoordsvar.xy, 0).r;
 
-  float mask = 1.0 - textureLod(maskBuf, uvcoordsvar.xy, 0).r;
+  float mask = textureLod(maskBuf, uvcoordsvar.xy, 0).r;
   mask *= blendOpacity;
 
   fragColor = vec4(1.0, 0.0, 1.0, 1.0);



More information about the Bf-blender-cvs mailing list