diff options
author | Daniel Genrich <daniel.genrich@gmx.net> | 2009-09-14 21:22:51 +0400 |
---|---|---|
committer | Daniel Genrich <daniel.genrich@gmx.net> | 2009-09-14 21:22:51 +0400 |
commit | c6107e0c7602db46ee535542a205d1afcccaebfb (patch) | |
tree | 3f26a949f5fd08bd0baf7a7de6de10eebaedc260 /source/blender/blenkernel/intern/smoke.c | |
parent | bee18c57d4b674282bf8d51ec0491a79e6b13faa (diff) |
Smoke:
* Only simulate smoke when starting from startframe
Diffstat (limited to 'source/blender/blenkernel/intern/smoke.c')
-rw-r--r-- | source/blender/blenkernel/intern/smoke.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c index 66aaa97af55..99d4176c937 100644 --- a/source/blender/blenkernel/intern/smoke.c +++ b/source/blender/blenkernel/intern/smoke.c @@ -1123,17 +1123,22 @@ void smokeModifier_do(SmokeModifierData *smd, Scene *scene, Object *ob, DerivedM cache_wt = sds->point_cache[1]; BKE_ptcache_id_from_smoke_turbulence(&pid_wt, ob, smd); + if(!smd->domain->fluid) + { + BKE_ptcache_id_reset(scene, &pid, PTCACHE_RESET_OUTDATED); + BKE_ptcache_id_reset(scene, &pid_wt, PTCACHE_RESET_OUTDATED); + } + if(framenr < startframe) return; if(framenr > endframe) return; - if(!smd->domain->fluid) - { - BKE_ptcache_id_reset(scene, &pid, PTCACHE_RESET_OUTDATED); - BKE_ptcache_id_reset(scene, &pid_wt, PTCACHE_RESET_OUTDATED); - } + if(!smd->domain->fluid && (framenr != startframe)) + return; + + // printf("startframe: %d, framenr: %d\n", startframe, framenr); if(!smokeModifier_init(smd, ob, scene, dm)) { |