diff options
Diffstat (limited to 'source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c')
-rw-r--r-- | source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c index 12576b3d27f..93f3776827b 100644 --- a/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c +++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c @@ -51,6 +51,7 @@ static void initData(GpencilModifierData *md) OpacityGpencilModifierData *gpmd = (OpacityGpencilModifierData *)md; gpmd->pass_index = 0; gpmd->factor = 1.0f; + gpmd->hardeness = 1.0f; gpmd->layername[0] = '\0'; gpmd->materialname[0] = '\0'; gpmd->vgname[0] = '\0'; @@ -104,6 +105,14 @@ static void deformStroke(GpencilModifierData *md, return; } + /* Hardeness (at stroke level). */ + if (mmd->modify_color == GP_MODIFY_COLOR_HARDENESS) { + gps->hardeness *= mmd->hardeness; + CLAMP(gps->hardeness, 0.0f, 1.0f); + + return; + } + for (int i = 0; i < gps->totpoints; i++) { bGPDspoint *pt = &gps->points[i]; MDeformVert *dvert = gps->dvert != NULL ? &gps->dvert[i] : NULL; |