diff options
author | Erwin Coumans <blender@erwincoumans.com> | 2006-06-23 04:34:59 +0400 |
---|---|---|
committer | Erwin Coumans <blender@erwincoumans.com> | 2006-06-23 04:34:59 +0400 |
commit | ce0436fb01b7f1f69fbae493401d6e9c85898186 (patch) | |
tree | 5ac5d21f91e7e6c3f1e2251df9734b996844ace7 /extern | |
parent | 481364cc40b49eb89c7164bfb2650b839f182c77 (diff) |
bugfix: tau/damping not linked up, this allows for solving some physics setup problems
Diffstat (limited to 'extern')
-rw-r--r-- | extern/bullet/BulletDynamics/ConstraintSolver/ContactConstraint.cpp | 10 | ||||
-rw-r--r-- | extern/bullet/BulletDynamics/ConstraintSolver/ContactSolverInfo.h | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/extern/bullet/BulletDynamics/ConstraintSolver/ContactConstraint.cpp b/extern/bullet/BulletDynamics/ConstraintSolver/ContactConstraint.cpp index e55c18e4716..1b97934aa17 100644 --- a/extern/bullet/BulletDynamics/ConstraintSolver/ContactConstraint.cpp +++ b/extern/bullet/BulletDynamics/ConstraintSolver/ContactConstraint.cpp @@ -135,19 +135,19 @@ float resolveSingleCollision( SimdScalar Kfps = 1.f / solverInfo.m_timeStep ; float damping = solverInfo.m_damping ; - float Kerp = solverInfo.m_erp; + float tau = solverInfo.m_tau; if (useGlobalSettingContacts) { damping = contactDamping; - Kerp = contactTau; + tau = contactTau; } - float Kcor = Kerp *Kfps; + float Kcor = tau *Kfps; //printf("dist=%f\n",distance); - ConstraintPersistentData* cpd = (ConstraintPersistentData*) contactPoint.m_userPersistentData; + ConstraintPersistentData* cpd = (ConstraintPersistentData*) contactPoint.m_userPersistentData; assert(cpd); SimdScalar distance = cpd->m_penetration;//contactPoint.GetDistance(); @@ -156,7 +156,7 @@ float resolveSingleCollision( //distance = 0.f; SimdScalar positionalError = Kcor *-distance; //jacDiagABInv; - SimdScalar velocityError = cpd->m_restitution - rel_vel;// * damping; + SimdScalar velocityError = cpd->m_restitution - rel_vel * damping; SimdScalar penetrationImpulse = positionalError * cpd->m_jacDiagABInv; diff --git a/extern/bullet/BulletDynamics/ConstraintSolver/ContactSolverInfo.h b/extern/bullet/BulletDynamics/ConstraintSolver/ContactSolverInfo.h index 2ec9b7f6ca1..6c6325df8a6 100644 --- a/extern/bullet/BulletDynamics/ConstraintSolver/ContactSolverInfo.h +++ b/extern/bullet/BulletDynamics/ConstraintSolver/ContactSolverInfo.h @@ -22,7 +22,7 @@ struct ContactSolverInfo inline ContactSolverInfo() { - m_tau = 0.6f; + m_tau = 0.4f; m_damping = 1.0f; m_friction = 0.3f; m_restitution = 0.f; |