[Bf-blender-cvs] [cd3ff68df3a] greasepencil-object: Fix opacity modifier problem with 2.0 value
Antonio Vazquez
noreply at git.blender.org
Tue Aug 8 16:40:49 CEST 2017
Commit: cd3ff68df3a4955561d6bf71606e518239b20b19
Author: Antonio Vazquez
Date: Tue Aug 8 16:40:38 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rBcd3ff68df3a4955561d6bf71606e518239b20b19
Fix opacity modifier problem with 2.0 value
When the value is set to 2.0, the stroke opacity must be set to 1.0 to force a complete solid drawing.
===================================================================
M source/blender/blenkernel/intern/gpencil_modifier.c
===================================================================
diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index 6b67b895bac..1c10833e404 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -466,16 +466,18 @@ void BKE_gpencil_opacity_modifier(int UNUSED(id), GpencilOpacityModifierData *mm
CLAMP(gps->palcolor->rgb[3], 0.0f, 1.0f);
CLAMP(gps->palcolor->fill[3], 0.0f, 1.0f);
- /* if opacity < 1.0, affect the strength of the stroke */
- if (mmd->factor < 1.0f) {
+ /* if opacity < 1.0 or > 1.0, affect the strength of the stroke */
+ if ((mmd->factor < 1.0f) || (mmd->factor > 1.0f)) {
for (int i = 0; i < gps->totpoints; ++i) {
pt = &gps->points[i];
/* verify vertex group */
weight = is_point_affected_by_modifier(pt, (int)(!(mmd->flag & GP_OPACITY_INVERSE_VGROUP) == 0), vindex);
if (weight < 0) {
- continue;
+ pt->strength += mmd->factor - 1.0f;
+ }
+ else {
+ pt->strength += ((mmd->factor * weight) - 1.0f);
}
- pt->strength += ((mmd->factor * weight) - 1.0f);
CLAMP(pt->strength, 0.0f, 1.0f);
}
}
More information about the Bf-blender-cvs
mailing list