diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-07-25 20:12:54 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-07-25 20:12:54 +0400 |
commit | cc0abf99632064f9daba60be8867f2addd28b9e8 (patch) | |
tree | 07ef178098ad0e4f2c71cc00d03a6fcdc6568a2e /source/blender/modifiers | |
parent | 619927605355a0b66e1ecd8f8a8bf1fe31b68d07 (diff) | |
parent | 1f2c93f9f783a2b0c2fb6ce42e30325a25d58265 (diff) |
svn merge -r37900:38000 https://svn.blender.org/svnroot/bf-blender/trunk/blender
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r-- | source/blender/modifiers/intern/MOD_displace.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c index 0b350e80416..4e60150e339 100644 --- a/source/blender/modifiers/intern/MOD_displace.c +++ b/source/blender/modifiers/intern/MOD_displace.c @@ -172,6 +172,7 @@ static void displaceModifier_do( MDeformVert *dvert = NULL; int defgrp_index; float (*tex_co)[3]; + float weight= 1.0f; /* init value unused but some compilers may complain */ if(!dmd->texture) return; if(dmd->strength == 0.0f) return; @@ -190,17 +191,10 @@ static void displaceModifier_do( for(i = 0; i < numVerts; ++i) { TexResult texres; float delta = 0, strength = dmd->strength; - MDeformWeight *def_weight = NULL; if(dvert) { - int j; - for(j = 0; j < dvert[i].totweight; ++j) { - if(dvert[i].dw[j].def_nr == defgrp_index) { - def_weight = &dvert[i].dw[j]; - break; - } - } - if(!def_weight || def_weight->weight==0.0f) continue; + weight= defvert_find_weight(dvert + i, defgrp_index); + if(weight == 0.0f) continue; } texres.nor = NULL; @@ -208,7 +202,7 @@ static void displaceModifier_do( delta = texres.tin - dmd->midlevel; - if(def_weight) strength *= def_weight->weight; + if(dvert) strength *= weight; delta *= strength; CLAMP(delta, -10000, 10000); |