Browse Source

BtPhysTest works !

legacy
Benjamin ‘Touky’ Huet touky 12 years ago
parent
commit
5acf6b77a7
1 changed files with 6 additions and 6 deletions
  1. +6
    -6
      test/BtPhysTest.cpp

+ 6
- 6
test/BtPhysTest.cpp View File

@@ -45,7 +45,7 @@ using namespace lol;
#define CUBE_HALF_EXTENTS .5f #define CUBE_HALF_EXTENTS .5f
#define EXTRA_HEIGHT 1.f #define EXTRA_HEIGHT 1.f


int gNumObjects = 8;
int gNumObjects = 16;


BtPhysTest::BtPhysTest(bool editor) BtPhysTest::BtPhysTest(bool editor)
{ {
@@ -53,7 +53,7 @@ BtPhysTest::BtPhysTest(bool editor)
m_camera = new Camera(vec3(0.f, 600.f, 0.f), m_camera = new Camera(vec3(0.f, 600.f, 0.f),
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, -40.f, 0.f));
m_camera->SetPerspective(90.f, 1280.f, 960.f, .1f, 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); //m_camera->SetOrtho(1280.f / 6, 960.f / 6, -1000.f, 1000.f);
Ticker::Ref(m_camera); Ticker::Ref(m_camera);
@@ -155,7 +155,7 @@ BtPhysTest::BtPhysTest(bool editor)
row2 |=1; row2 |=1;
} }


btVector3 pos(col*2*CUBE_HALF_EXTENTS + (row2%2)*CUBE_HALF_EXTENTS,
btVector3 pos(col*2*CUBE_HALF_EXTENTS + (row2%2)*CUBE_HALF_EXTENTS, 20.0f +
row*2*CUBE_HALF_EXTENTS+CUBE_HALF_EXTENTS+EXTRA_HEIGHT,0); row*2*CUBE_HALF_EXTENTS+CUBE_HALF_EXTENTS+EXTRA_HEIGHT,0);


trans.setOrigin(pos); trans.setOrigin(pos);
@@ -174,7 +174,7 @@ BtPhysTest::BtPhysTest(bool editor)


//using motionstate is recommended, it provides interpolation capabilities, and only synchronizes 'active' objects //using motionstate is recommended, it provides interpolation capabilities, and only synchronizes 'active' objects


btDefaultMotionState* myMotionState = new btDefaultMotionState(startTransform);
btDefaultMotionState* myMotionState = new btDefaultMotionState(trans);


btRigidBody::btRigidBodyConstructionInfo cInfo(mass,myMotionState,shape,localInertia); btRigidBody::btRigidBodyConstructionInfo cInfo(mass,myMotionState,shape,localInertia);


@@ -243,7 +243,7 @@ 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();
} }
if (i == 2)
if (i > 0)
{ {
BarycenterLocation += m.v3.xyz; BarycenterLocation += m.v3.xyz;
BarycenterFactor += 1.0f; BarycenterFactor += 1.0f;
@@ -258,7 +258,7 @@ void BtPhysTest::TickDraw(float seconds)
BarycenterLocation /= BarycenterFactor; BarycenterLocation /= BarycenterFactor;


m_camera->SetTarget(BarycenterLocation); m_camera->SetTarget(BarycenterLocation);
m_camera->SetPosition(BarycenterLocation + vec3(-50.0f, 50.0f, .0f));
m_camera->SetPosition(BarycenterLocation + vec3(-10.0f, 10.0f, .0f));
} }
} }




Loading…
Cancel
Save