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:
Diffstat (limited to 'source/blender/blenkernel/intern/smoke.c')
-rw-r--r--source/blender/blenkernel/intern/smoke.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c
index 00e81063760..aa513ab0fb7 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -1156,10 +1156,7 @@ void smokeModifier_do(SmokeModifierData *smd, Scene *scene, Object *ob, DerivedM
framenr = scene->r.cfra;
- // printf("time: %d\n", scene->r.cfra);
-
- if(framenr == smd->time)
- return;
+ printf("time: %d\n", scene->r.cfra);
cache = sds->point_cache[0];
BKE_ptcache_id_from_smoke(&pid, ob, smd);
@@ -1206,11 +1203,23 @@ void smokeModifier_do(SmokeModifierData *smd, Scene *scene, Object *ob, DerivedM
if(cache_result_wt == PTCACHE_READ_EXACT)
{
BKE_ptcache_validate(cache_wt, framenr);
+
+ return;
+ }
+ else
+ {
+ ; /* don't return in the case we only got low res cache but no high res cache */
+ /* we still need to calculate the high res cache */
}
}
- return;
+ else
+ return;
}
+ /* only calculate something when we advanced a frame */
+ if(framenr == smd->time)
+ return;
+
tstart();
smoke_calc_domain(scene, ob, smd);