SVN Revision: 33356 (compiled with scons) Ubuntu 10.04 nVidia GeForce 8400 GS
I've noticed a lot of inconsistent and unusual behavior when trying to bake smoke simulations. See the attached .blend file. Here is a demonstration of "Free All Bakes" not doing what I would expect.
- Starting on Domain1, Smoke Cache -> Bake All Dynamics - After baking, Alt-A and play one cycle, then stop and return to frame 1 - Under Smoke, enable Dissolve and set the Time to 2. - Smoke Cache -> Free All Bakes - Smoke Cache -> Bake All Dynamics (finishes quick) - Using Alt-A to animate shows no change - Delete the ~/blendcache_smokelab1-4 directory - Smoke Cache -> Free All Bakes - Smoke Cache -> Bake All Dynamics (actually bakes this time) - Using Alt-A to animate shows the dissolve working as expected
Also of note is that the Domain2 smoke cache (type 3, flags 4) isn't a disk cache, unlike the Domain1 smoke cache (type 3, flags 68). In the blendcache_smokelab1-4 directory, I see cache1_s files, but not cache2_s files, although I don't see any obvious differences between the two. #define PTCACHE_DISK_CACHE 64
Index: source/blender/editors/physics/physics_pointcache.c =================================================================== --- source/blender/editors/physics/physics_pointcache.c (revision 33356) +++ source/blender/editors/physics/physics_pointcache.c (working copy) @@ -135,6 +135,7 @@ for(pid=pidlist.first; pid; pid=pid->next) { pid->cache->flag &= ~PTCACHE_BAKED; + printf("here at ptcache_free_bake_all, freeing '%s' type %d, flags %d\n", pid->ob->id.name, pid->type, pid->cache->flag); }
here at ptcache_free_bake_all, freeing 'OBEmitter2' type 1, flags 4 here at ptcache_free_bake_all, freeing 'OBEmitter1' type 1, flags 4 here at ptcache_free_bake_all, freeing 'OBDomain2' type 3, flags 4 here at ptcache_free_bake_all, freeing 'OBDomain2' type 4, flags 68 here at ptcache_free_bake_all, freeing 'OBDomain1' type 3, flags 68 here at ptcache_free_bake_all, freeing 'OBDomain1' type 4, flags 68
|