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:
authorDaniel Genrich <daniel.genrich@gmx.net>2009-09-14 14:21:41 +0400
committerDaniel Genrich <daniel.genrich@gmx.net>2009-09-14 14:21:41 +0400
commitce70ed260b45c48ee43e5f13b372cc0d68f76be4 (patch)
treeec5b48ba20ab30dd3aebdbe243dad9f1eb1b4e48
parent0338b05a64184ce1a439a418ebc4e315185c1eec (diff)
Smoke:
* Bugifx for no shadow on startframe when loaded from cache
-rw-r--r--source/blender/blenkernel/intern/smoke.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/smoke.c b/source/blender/blenkernel/intern/smoke.c
index 67744ab56a2..6485e367b78 100644
--- a/source/blender/blenkernel/intern/smoke.c
+++ b/source/blender/blenkernel/intern/smoke.c
@@ -1179,6 +1179,11 @@ void smokeModifier_do(SmokeModifierData *smd, Scene *scene, Object *ob, DerivedM
// simulate the actual smoke (c++ code in intern/smoke)
if(framenr!=startframe)
smoke_step(sds->fluid, smd->time);
+
+ // create shadows before writing cache so we get nice shadows for sstartframe, too
+ if(get_lamp(scene, light))
+ smoke_calc_transparency(sds->shadow, smoke_get_density(sds->fluid), sds->p0, sds->p1, sds->res, sds->dx, light, calc_voxel_transp, -7.0*sds->dx);
+
BKE_ptcache_write_cache(&pid, framenr);
if(sds->wt)
@@ -1191,9 +1196,6 @@ void smokeModifier_do(SmokeModifierData *smd, Scene *scene, Object *ob, DerivedM
BKE_ptcache_write_cache(&pid_wt, framenr);
}
- if(get_lamp(scene, light))
- smoke_calc_transparency(sds->shadow, smoke_get_density(sds->fluid), sds->p0, sds->p1, sds->res, sds->dx, light, calc_voxel_transp, -7.0*sds->dx);
-
tend();
printf ( "Frame: %d, Time: %f\n", (int)smd->time, ( float ) tval() );
}