[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33016] trunk/blender/source/blender/ blenkernel/intern/smoke.c: Smoke now uses the start and end of cached data properly when outside the cached frame range .
Janne Karhu
jhkarh at gmail.com
Thu Nov 11 19:00:32 CET 2010
Revision: 33016
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33016
Author: jhk
Date: 2010-11-11 18:59:52 +0100 (Thu, 11 Nov 2010)
Log Message:
-----------
Smoke now uses the start and end of cached data properly when outside the cached frame range.
* Patch by MiikaH.
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/smoke.c
Modified: trunk/blender/source/blender/blenkernel/intern/smoke.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/smoke.c 2010-11-11 17:03:09 UTC (rev 33015)
+++ trunk/blender/source/blender/blenkernel/intern/smoke.c 2010-11-11 17:59:52 UTC (rev 33016)
@@ -1353,13 +1353,17 @@
}
}
- if(framenr < startframe)
+ if(!smd->domain->fluid && (framenr != startframe) && (cache->flag & PTCACHE_BAKED)==0)
return;
+ if(framenr < startframe)
+ framenr = startframe;
+
if(framenr > endframe)
- return;
+ framenr = endframe;
- if(!smd->domain->fluid && (framenr != startframe) && (cache->flag & PTCACHE_BAKED)==0)
+ /* If already viewing a pre/after frame, no need to reload */
+ if ((smd->time == framenr) && (framenr != scene->r.cfra))
return;
// printf("startframe: %d, framenr: %d\n", startframe, framenr);
@@ -1402,6 +1406,10 @@
else if(framenr != (int)smd->time+1)
return;
+ /* don't simulate if viewing start frame, but scene frame is not real start frame */
+ if (framenr != scene->r.cfra)
+ return;
+
tstart();
smoke_calc_domain(scene, ob, smd);
More information about the Bf-blender-cvs
mailing list