[Bf-blender-cvs] [590261a617c] greasepencil-object: GPencil: Cleanup masking flags management in shaders
Antonio Vazquez
noreply at git.blender.org
Thu Jul 9 17:44:17 CEST 2020
Commit: 590261a617c339296ca8e6a9a08a1731949c1b6a
Author: Antonio Vazquez
Date: Thu Jul 9 17:44:10 2020 +0200
Branches: greasepencil-object
https://developer.blender.org/rB590261a617c339296ca8e6a9a08a1731949c1b6a
GPencil: Cleanup masking flags management in shaders
===================================================================
M source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl
M source/blender/draw/engines/gpencil/shaders/gpencil_frag.glsl
===================================================================
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl
index 36e8882cc9f..b048bb762dd 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_common_lib.glsl
@@ -36,7 +36,7 @@ struct gpMaterial {
/* Multiline defines can crash blender with certain GPU drivers. */
/* clang-format off */
-#define GP_FILL_FLAGS (GP_FILL_TEXTURE_USE | GP_FILL_TEXTURE_PREMUL | GP_FILL_TEXTURE_CLIP | GP_FILL_GRADIENT_USE | GP_FILL_GRADIENT_RADIAL)
+#define GP_FILL_FLAGS (GP_FILL_TEXTURE_USE | GP_FILL_TEXTURE_PREMUL | GP_FILL_TEXTURE_CLIP | GP_FILL_GRADIENT_USE | GP_FILL_GRADIENT_RADIAL | GP_FILL_MASK)
/* clang-format on */
#define GP_FLAG_TEST(flag, val) (((flag) & (val)) != 0)
@@ -576,13 +576,6 @@ void fill_vertex()
matFlag = MATERIAL(m).flag & GP_FILL_FLAGS;
- if (GP_FLAG_TEST(MATERIAL(m).flag, GP_STROKE_MASK)) {
- matFlag |= GP_STROKE_MASK;
- }
- if (GP_FLAG_TEST(MATERIAL(m).flag, GP_FILL_MASK)) {
- matFlag |= GP_FILL_MASK;
- }
-
matFlag |= m << GP_MATID_SHIFT;
vec2 loc = MATERIAL(m).fill_uv_offset.xy;
diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_frag.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_frag.glsl
index 051ce4436f8..e6324859f07 100644
--- a/source/blender/draw/engines/gpencil/shaders/gpencil_frag.glsl
+++ b/source/blender/draw/engines/gpencil/shaders/gpencil_frag.glsl
@@ -89,10 +89,7 @@ void main()
fragColor *= stroke_round_cap_mask(
strokePt1, strokePt2, strokeAspect, strokeThickness, strokeHardeness);
- /* If material masking. Use a hack to determine if the pixel is fill or not
- * using the thickness. */
- if (((GP_FLAG_TEST(matFlag, GP_STROKE_MASK)) && (strokeThickness != 1e18)) ||
- (GP_FLAG_TEST(matFlag, GP_FILL_MASK) && (strokeThickness == 1e18))) {
+ if (GP_FLAG_TEST(matFlag, GP_STROKE_MASK | GP_FILL_MASK)) {
fragColor = vec4(0.0, 0.0, 0.0, 1.0);
revealColor = vec4(1.0, 1.0, 1.0, 0.0);
}
More information about the Bf-blender-cvs
mailing list