[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