[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [52871] trunk/blender/intern/elbeem/intern : Bugfix [#33467] Fluid Simulations Speed factor animated wrong result

Daniel Genrich daniel.genrich at gmx.net
Tue Dec 11 14:02:42 CET 2012


Revision: 52871
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=52871
Author:   genscher
Date:     2012-12-11 13:02:42 +0000 (Tue, 11 Dec 2012)
Log Message:
-----------
Bugfix [#33467] Fluid Simulations Speed factor animated wrong result

Thanks to Brecht for providing a patch and example blend.
I changed and extended it a bit since there was another bug in that loop.

Modified Paths:
--------------
    trunk/blender/intern/elbeem/intern/ntl_world.cpp
    trunk/blender/intern/elbeem/intern/ntl_world.h

Modified: trunk/blender/intern/elbeem/intern/ntl_world.cpp
===================================================================
--- trunk/blender/intern/elbeem/intern/ntl_world.cpp	2012-12-11 11:22:51 UTC (rev 52870)
+++ trunk/blender/intern/elbeem/intern/ntl_world.cpp	2012-12-11 13:02:42 UTC (rev 52871)
@@ -420,7 +420,12 @@
 	// Was: double targetTime = mSimulationTime + (*mpSims)[mFirstSim]->getFrameTime(framenum); - DG
 	double totalTime = 0.0, targetTime = 0.0;
 	for(size_t i = 0; i < mSimFrameCnt; i++)
-		totalTime += (*mpSims)[mFirstSim]->getFrameTime(framenum);
+	{
+		/* We need an intermediate array "mSimFrameValue" because
+		otherwise if we don't start with starttime = 0, 
+		the sim gets out of sync - DG */
+		totalTime += (*mpSims)[mFirstSim]->getFrameTime(mSimFrameValue[i]);	
+	}
 	targetTime = totalTime + (*mpSims)[mFirstSim]->getFrameTime(framenum);
 
 	int gstate = 0;
@@ -468,6 +473,7 @@
 		sim->prepareVisualization();
 	}
 
+	mSimFrameValue.push_back(framenum);
 	mSimFrameCnt++;
 
 	return 0;

Modified: trunk/blender/intern/elbeem/intern/ntl_world.h
===================================================================
--- trunk/blender/intern/elbeem/intern/ntl_world.h	2012-12-11 11:22:51 UTC (rev 52870)
+++ trunk/blender/intern/elbeem/intern/ntl_world.h	2012-12-11 13:02:42 UTC (rev 52871)
@@ -118,6 +118,7 @@
 
 		/*! count no. of frame for correct sim time */
 		int mSimFrameCnt;
+		vector<int> mSimFrameValue;
 };
 
 




More information about the Bf-blender-cvs mailing list