[Bf-blender-cvs] [ea8b6c1] hair_system: Renamed t0/t1 times to clarify their meaning.

Lukas Tönne noreply at git.blender.org
Mon Aug 25 17:42:45 CEST 2014


Commit: ea8b6c112b6b9d959b8ec9479625fc455942ae18
Author: Lukas Tönne
Date:   Mon Aug 25 17:43:03 2014 +0200
Branches: hair_system
https://developer.blender.org/rBea8b6c112b6b9d959b8ec9479625fc455942ae18

Renamed t0/t1 times to clarify their meaning.

These are usually a larger time interval than the time step, they define
the interpolation for root animation.

===================================================================

M	source/blender/hair/intern/HAIR_scene.cpp
M	source/blender/hair/intern/HAIR_solver.cpp
M	source/blender/hair/intern/HAIR_solver.h

===================================================================

diff --git a/source/blender/hair/intern/HAIR_scene.cpp b/source/blender/hair/intern/HAIR_scene.cpp
index fe78e21..ebdbc0d 100644
--- a/source/blender/hair/intern/HAIR_scene.cpp
+++ b/source/blender/hair/intern/HAIR_scene.cpp
@@ -84,7 +84,7 @@ SolverData *SceneConverter::build_solver_data(Scene *scene, Object *ob, DerivedM
 	Curve *solver_curves = data->curves;
 	Point *solver_points = data->points;
 	
-	data->t0 = data->t1 = time;
+	data->root0_time = data->root1_time = time;
 	
 	/* copy scene data to solver data */
 	Point *point = solver_points;
@@ -222,7 +222,7 @@ SolverData *SceneConverter::build_solver_data(Scene *scene, Object *ob, DerivedM
 	Curve *solver_curves = data->curves;
 	Point *solver_points = data->points;
 	
-	data->t0 = data->t1 = time;
+	data->root0_time = data->root1_time = time;
 	
 	/* copy scene data to solver data */
 	Point *point = solver_points;
@@ -321,8 +321,8 @@ void SceneConverter::update_solver_data_externals(SolverData *data, SolverForces
 	Curve *solver_curves = data->curves;
 	int totcurves = data->totcurves;
 	
-	data->t0 = data->t1;
-	data->t1 = time;
+	data->root0_time = data->root1_time;
+	data->root1_time = time;
 	
 	for (i = 0; i < totcurves; ++i) {
 		HairCurve *hair = hsys->curves + i;
@@ -347,8 +347,8 @@ void SceneConverter::update_solver_data_externals(SolverData *data, SolverForces
 	Curve *solver_curves = data->curves;
 	int totcurves = data->totcurves;
 	
-	data->t0 = data->t1;
-	data->t1 = time;
+	data->root0_time = data->root1_time;
+	data->root1_time = time;
 	
 	for (i = 0; i < totcurves; ++i) {
 		ParticleData *pa = psys->particles + i;
diff --git a/source/blender/hair/intern/HAIR_solver.cpp b/source/blender/hair/intern/HAIR_solver.cpp
index d60ef00..f897baa 100644
--- a/source/blender/hair/intern/HAIR_solver.cpp
+++ b/source/blender/hair/intern/HAIR_solver.cpp
@@ -599,15 +599,15 @@ void Solver::do_integration(float time, float timestep, const SolverTaskData &da
 	for (int step = 0; step < totsteps; ++step) {
 		
 		/* calculate Point.force_accum vectors */
-		calc_forces(m_params, m_forces, steptime, dt, restitution_scale, m_data->t0, m_data->t1, data, contacts);
+		calc_forces(m_params, m_forces, steptime, dt, restitution_scale, m_data->root0_time, m_data->root1_time, data, contacts);
 		
-		do_velocity_integration(m_params, steptime, dt, m_data->t0, m_data->t1, data);
+		do_velocity_integration(m_params, steptime, dt, m_data->root0_time, m_data->root1_time, data);
 		
 		steptime += dt;
 	}
 	
 	/* apply positional changes */
-	apply_velocity(data, time, timestep, m_data->t0, m_data->t1);
+	apply_velocity(data, time, timestep, m_data->root0_time, m_data->root1_time);
 }
 
 struct SolverPoolData {
diff --git a/source/blender/hair/intern/HAIR_solver.h b/source/blender/hair/intern/HAIR_solver.h
index de8922a..ddfe31f 100644
--- a/source/blender/hair/intern/HAIR_solver.h
+++ b/source/blender/hair/intern/HAIR_solver.h
@@ -57,7 +57,10 @@ struct SolverData {
 	int totcurves;
 	int totpoints;
 	
-	float t0, t1;
+	/* times of root0/root1, interpolation happens between these times.
+	 * note: NOT synonymous with the timestep, which can be somewhere between these two times!
+	 */
+	float root0_time, root1_time;
 	
 	rbGhostObject rb_ghost;
 	btBoxShape bt_shape;




More information about the Bf-blender-cvs mailing list