diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2015-10-09 22:10:14 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2015-10-09 22:26:33 +0300 |
commit | 01f235e13804d0d41446238d2ddfefefedf497e4 (patch) | |
tree | c0bb696b22da1acd81b5dbbc307b603b0132e2cc /source/blender/blenkernel/intern/constraint.c | |
parent | be72df4f06ac86f76d6dc4b5503531dbbdddce86 (diff) |
Fix T46418: Constraints - influence other than 0 or 1 - bad results with non-homogeneous scaled matrices.
Use new interp_m4_m4m4 instead of blend_m4_m4m4.
Note that maybe we could replace other usages of blend_m... by interp_m...,
but this should be investigated on a case-by-case basis.
Diffstat (limited to 'source/blender/blenkernel/intern/constraint.c')
-rw-r--r-- | source/blender/blenkernel/intern/constraint.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index ed2e609ae53..03406c6c2a0 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -4882,11 +4882,12 @@ void BKE_constraints_solve(ListBase *conlist, bConstraintOb *cob, float ctime) * since some constraints may not convert the solution back to the input space before blending * but all are guaranteed to end up in good "worldspace" result */ - /* Note: all kind of stuff here before (caused trouble), much easier to just interpolate, or did I miss something? -jahka (r.32105) */ + /* Note: all kind of stuff here before (caused trouble), much easier to just interpolate, + * or did I miss something? -jahka (r.32105) */ if (enf < 1.0f) { float solution[4][4]; copy_m4_m4(solution, cob->matrix); - blend_m4_m4m4(cob->matrix, oldmat, solution, enf); + interp_m4_m4m4(cob->matrix, oldmat, solution, enf); } } } |