Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2007-12-08 21:46:44 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2007-12-08 21:46:44 +0300
commit15eb4ebbe4b55223fff6537035ad6ff12f17201e (patch)
tree520132311de439a10dc19d25bcd4140f1c012757 /source/blender/blenkernel
parent85ee6302dddc150f3dfa250dbb1ac79427a84308 (diff)
Mesh Deform Modifiers
===================== Tweak for somewhat improved results with dynamic binding, and added a rt value (527) for debugging mdef accuracy.
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r--source/blender/blenkernel/intern/modifier.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c
index 2189fed3448..4672b5d6da8 100644
--- a/source/blender/blenkernel/intern/modifier.c
+++ b/source/blender/blenkernel/intern/modifier.c
@@ -6404,9 +6404,14 @@ static void meshdeformModifier_do(
for(a=0; a<totcagevert; a++) {
/* get cage vertex in world space with binding transform */
VECCOPY(co, cagemvert[a].co);
- Mat4MulVecfl(mmd->bindmat, co);
- /* compute different with world space bind coord */
- VECSUB(dco[a], co, bindcos[a]);
+
+ if(G.rt != 527) {
+ Mat4MulVecfl(mmd->bindmat, co);
+ /* compute difference with world space bind coord */
+ VECSUB(dco[a], co, bindcos[a]);
+ }
+ else
+ VECCOPY(dco[a], co)
}
defgrp_index = -1;
@@ -6474,7 +6479,10 @@ static void meshdeformModifier_do(
if(totweight > 0.0f) {
VecMulf(co, fac/totweight);
Mat3MulVecfl(iobmat, co);
- VECADD(vertexCos[b], vertexCos[b], co);
+ if(G.rt != 527)
+ VECADD(vertexCos[b], vertexCos[b], co)
+ else
+ VECCOPY(vertexCos[b], co)
}
}