| @@ -54,8 +54,8 @@ BtPhysTest::BtPhysTest(bool editor) | |||||
| vec3(0.f, 0.f, 0.f), | vec3(0.f, 0.f, 0.f), | ||||
| vec3(0, 0, -1)); | vec3(0, 0, -1)); | ||||
| m_camera->SetRotation(quat::fromeuler_yxz(0.f, -30.f, 0.f)); | m_camera->SetRotation(quat::fromeuler_yxz(0.f, -30.f, 0.f)); | ||||
| //m_camera->SetPerspective(120.f, 1280.f, 960.f, -1000.f, 1000.f); | |||||
| m_camera->SetOrtho(1280.f / 6, 960.f / 6, -1000.f, 1000.f); | |||||
| m_camera->SetPerspective(90.f, 1280.f, 960.f, .1f, 1000.f); | |||||
| //m_camera->SetOrtho(1280.f / 6, 960.f / 6, -1000.f, 1000.f); | |||||
| Ticker::Ref(m_camera); | Ticker::Ref(m_camera); | ||||
| m_ready = false; | m_ready = false; | ||||
| @@ -224,8 +224,8 @@ void BtPhysTest::TickDraw(float seconds) | |||||
| Video::SetClearColor(vec4(0.0f, 0.0f, 0.12f, 1.0f)); | Video::SetClearColor(vec4(0.0f, 0.0f, 0.12f, 1.0f)); | ||||
| m_ground_mesh.Render(mat4(1.0f)); | |||||
| vec3 BarycenterLocation = vec3(.0f); | |||||
| float BarycenterFactor = 0.0f; | |||||
| for(int i=0;i<gNumObjects;i++) | for(int i=0;i<gNumObjects;i++) | ||||
| { | { | ||||
| mat4 m(1.0f); | mat4 m(1.0f); | ||||
| @@ -243,7 +243,22 @@ void BtPhysTest::TickDraw(float seconds) | |||||
| colObj->getWorldTransform().getOpenGLMatrix(&m[0][0]); | colObj->getWorldTransform().getOpenGLMatrix(&m[0][0]); | ||||
| rot = colObj->getWorldTransform().getBasis(); | rot = colObj->getWorldTransform().getBasis(); | ||||
| } | } | ||||
| m_rigid_mesh.Render(m); | |||||
| if (i == 2) | |||||
| { | |||||
| BarycenterLocation += m.v3.xyz; | |||||
| BarycenterFactor += 1.0f; | |||||
| } | |||||
| if (i == 0) | |||||
| m_ground_mesh.Render(m); | |||||
| else | |||||
| m_rigid_mesh.Render(m); | |||||
| } | |||||
| if (BarycenterFactor > .0f) | |||||
| { | |||||
| BarycenterLocation /= BarycenterFactor; | |||||
| m_camera->SetTarget(BarycenterLocation); | |||||
| m_camera->SetPosition(BarycenterLocation + vec3(-50.0f, 50.0f, .0f)); | |||||
| } | } | ||||
| } | } | ||||