fixed timestep working

This commit is contained in:
viktorljung
2015-09-14 14:59:39 +01:00
parent 586f8d438c
commit c7704f62e9
3 changed files with 41 additions and 3 deletions
+18 -2
View File
@@ -18,7 +18,7 @@ void dd::Systems::PhysicsSystem::Initialize()
m_TimeStep = 1.f/60.f;
m_VelocityIterations = 6;
m_PositionIterations = 2;
m_Accumulator = 0.f;
m_PhysicsWorld->SetContactListener(m_ContactListener);
@@ -62,7 +62,23 @@ void dd::Systems::PhysicsSystem::Update(double dt)
}
}
m_PhysicsWorld->Step(m_TimeStep, m_VelocityIterations, m_PositionIterations);
m_Accumulator += dt;
while(m_Accumulator >= m_TimeStep)
{
m_PhysicsWorld->Step(m_TimeStep, m_VelocityIterations, m_PositionIterations);
m_Accumulator -= dt;
}
for (auto i : m_EntitiesToBodies) {
EntityID entity = i.first;