[Bf-blender-cvs] [01f235e] master: Fix T46418: Constraints - influence other than 0 or 1 - bad results with non-homogeneous scaled matrices.
Bastien Montagne
noreply at git.blender.org
Fri Oct 9 21:30:10 CEST 2015
Commit: 01f235e13804d0d41446238d2ddfefefedf497e4
Author: Bastien Montagne
Date: Fri Oct 9 21:10:14 2015 +0200
Branches: master
https://developer.blender.org/rB01f235e13804d0d41446238d2ddfefefedf497e4
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.
===================================================================
M source/blender/blenkernel/intern/constraint.c
===================================================================
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index ed2e609..03406c6 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);
}
}
}
More information about the Bf-blender-cvs
mailing list