diff options
author | Janne Karhu <jhkarh@gmail.com> | 2010-10-18 12:17:04 +0400 |
---|---|---|
committer | Janne Karhu <jhkarh@gmail.com> | 2010-10-18 12:17:04 +0400 |
commit | c092a18fcbfead6ed2936c74f504ece9f08e96d2 (patch) | |
tree | 515e0957e1490a2ba348f77ee0e1bbb50a0d1a73 /source/blender/blenkernel/intern/effect.c | |
parent | b7ad16983c8a105299d7fd3f17d4141b87d66f26 (diff) |
[#24209] Texture Forcefields: Use Object Coordinates produces incorrect results (patch included)
* Original patch provided by Alexander Beels and modified a bit by me.
Diffstat (limited to 'source/blender/blenkernel/intern/effect.c')
-rw-r--r-- | source/blender/blenkernel/intern/effect.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/effect.c b/source/blender/blenkernel/intern/effect.c index f4fae3ed3c6..70e814ef956 100644 --- a/source/blender/blenkernel/intern/effect.c +++ b/source/blender/blenkernel/intern/effect.c @@ -264,6 +264,9 @@ static void add_object_to_effectors(ListBase **effectors, Scene *scene, Effector eff = new_effector_cache(scene, ob, NULL, ob->pd); + /* make sure imat is up to date */ + invert_m4_m4(ob->imat, ob->obmat); + BLI_addtail(*effectors, eff); } static void add_particles_to_effectors(ListBase **effectors, Scene *scene, EffectorWeights *weights, Object *ob, ParticleSystem *psys, ParticleSystem *psys_src) @@ -774,7 +777,7 @@ static void do_texture_effector(EffectorCache *eff, EffectorData *efd, EffectedP } if(eff->pd->flag & PFIELD_TEX_OBJECT) { - mul_m4_v3(eff->ob->obmat, tex_co); + mul_m4_v3(eff->ob->imat, tex_co); } hasrgb = multitex_ext(eff->pd->tex, tex_co, NULL,NULL, 0, result); |