[Bf-blender-cvs] [01cd78ef672] temp-gpencil-fading-modifier: Gpencil: location calculation changed to obmat

YimingWu noreply at git.blender.org
Mon Oct 19 07:00:05 CEST 2020


Commit: 01cd78ef6720d25deac5daa6f4b2fc9954fa66a9
Author: YimingWu
Date:   Fri Oct 2 22:23:07 2020 +0800
Branches: temp-gpencil-fading-modifier
https://developer.blender.org/rB01cd78ef6720d25deac5daa6f4b2fc9954fa66a9

Gpencil: location calculation changed to obmat

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

M	source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c
M	source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c

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

diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c
index da9e6c7ad0c..2446485477b 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilopacity.c
@@ -147,7 +147,7 @@ static void deformStroke(GpencilModifierData *md,
         if (mmd->object) {
           float gvert[3];
           mul_v3_m4v3(gvert, ob->obmat, &pt->x);
-          float dist = len_v3v3(mmd->object->loc, gvert);
+          float dist = len_v3v3(mmd->object->obmat[3], gvert);
           float fading_max = MAX2(mmd->fading_start, mmd->fading_end);
           float fading_min = MIN2(mmd->fading_start, mmd->fading_end);
 
@@ -201,7 +201,7 @@ static void deformStroke(GpencilModifierData *md,
     if (mmd->flag & GP_OPACITY_FADING) {
       if (mmd->object) {
 
-        float dist = len_v3v3(mmd->object->loc, ob->loc);
+        float dist = len_v3v3(mmd->object->obmat[3], ob->obmat[3]);
         float fading_max = MAX2(mmd->fading_start, mmd->fading_end);
         float fading_min = MIN2(mmd->fading_start, mmd->fading_end);
 
@@ -254,6 +254,7 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
   OpacityGpencilModifierData *mmd = (OpacityGpencilModifierData *)md;
 
   walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
+  walk(userData, ob, (ID **)&mmd->object, IDWALK_CB_USER);
 }
 
 static void panel_draw(const bContext *UNUSED(C), Panel *panel)
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
index 59df43c408f..2408ccf4d1d 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
@@ -138,7 +138,7 @@ static void deformStroke(GpencilModifierData *md,
       if (mmd->object) {
         float gvert[3];
         mul_v3_m4v3(gvert, ob->obmat, &pt->x);
-        float dist = len_v3v3(mmd->object->loc, gvert);
+        float dist = len_v3v3(mmd->object->obmat[3], gvert);
         float fading_max = MAX2(mmd->fading_start, mmd->fading_end);
         float fading_min = MIN2(mmd->fading_start, mmd->fading_end);
 
@@ -200,6 +200,7 @@ static void foreachIDLink(GpencilModifierData *md, Object *ob, IDWalkFunc walk,
   ThickGpencilModifierData *mmd = (ThickGpencilModifierData *)md;
 
   walk(userData, ob, (ID **)&mmd->material, IDWALK_CB_USER);
+  walk(userData, ob, (ID **)&mmd->object, IDWALK_CB_USER);
 }
 
 static void panel_draw(const bContext *UNUSED(C), Panel *panel)



More information about the Bf-blender-cvs mailing list