diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2013-12-19 21:25:14 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2013-12-19 21:25:14 +0400 |
commit | 19c0c7992a890590914809ac47179c61ce956abd (patch) | |
tree | b2b7fd37bcdd9fedfd58f90c06befee702d76fb4 | |
parent | 2746f7ef2828b40c557ba0e3a9a1f5eb5d2ef6d0 (diff) |
Fix T37003, Fix T37859: smoke modifier taking deforming modifiers into account
in some cases.
The smoke modifier now ignores the modifier evaluation for generated texture
coordinates, which would previously cause the undeformed mesh to be cached for
flow objects. Dynamic paint has a similar exception, and other physics systems
avoid it by not being a constructive modifier.
-rw-r--r-- | source/blender/modifiers/intern/MOD_smoke.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c index 3e107b7090c..0fff0b3c67b 100644 --- a/source/blender/modifiers/intern/MOD_smoke.c +++ b/source/blender/modifiers/intern/MOD_smoke.c @@ -101,10 +101,13 @@ static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *md) static DerivedMesh *applyModifier(ModifierData *md, Object *ob, DerivedMesh *dm, - ModifierApplyFlag UNUSED(flag)) + ModifierApplyFlag flag) { SmokeModifierData *smd = (SmokeModifierData *) md; + if(flag & MOD_APPLY_ORCO) + return dm; + return smokeModifier_do(smd, md->scene, ob, dm); } |