diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-05-01 20:07:18 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-05-01 20:07:18 +0400 |
commit | 7cc98cbb0b6f2ef113a568532eb0921e77cc973d (patch) | |
tree | 44d9613581a01452eb2018d611ab7b4a598a6a95 | |
parent | 6b0d932c0d27dbce5e62e2a422e388e02f341a52 (diff) |
warp modifier, using negative strength inverts the transformation matrix but the location it gave wasnt useful when rotation was used too, just negate the translation.
-rw-r--r-- | source/blender/modifiers/intern/MOD_warp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/modifiers/intern/MOD_warp.c b/source/blender/modifiers/intern/MOD_warp.c index 44eea3f9332..8825f640c03 100644 --- a/source/blender/modifiers/intern/MOD_warp.c +++ b/source/blender/modifiers/intern/MOD_warp.c @@ -198,8 +198,14 @@ static void warpModifier_do(WarpModifierData *wmd, Object *ob, unit_m4(mat_unit); if(strength < 0.0f) { + float loc[3]; strength = -strength; + + /* inverted location is not useful, just use the negative */ + copy_v3_v3(loc, mat_final[3]); invert_m4(mat_final); + negate_v3_v3(mat_final[3], loc); + } weight= strength; |