Physics (WIP)
This commit is contained in:
parent
8acf6ec363
commit
8738f94768
@ -180,6 +180,8 @@ int start() {
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glViewport(0, 0, kekData.screenWidth, kekData.screenHeight);
|
||||
|
||||
Physics::step(kekData.lastFrameTime);
|
||||
|
||||
for(auto cb : kekData.input->periodicCallbacks) {
|
||||
cb.second(kekData.window);
|
||||
}
|
||||
|
@ -12,12 +12,25 @@ void init() {
|
||||
btCollisionDispatcher *dispatcher = new btCollisionDispatcher(collisionConf);
|
||||
btBroadphaseInterface *overlappingPairCache = new btDbvtBroadphase();
|
||||
btSequentialImpulseConstraintSolver *solver = new btSequentialImpulseConstraintSolver();
|
||||
btDiscreteDynamicsWorld *world = new btDiscreteDynamicsWorld(dispatcher, overlappingPairCache, solver, collisionConf);
|
||||
world->setGravity(btVector3(0, -10, 0));
|
||||
kekData.physics->world = new btDiscreteDynamicsWorld(dispatcher, overlappingPairCache, solver, collisionConf);
|
||||
kekData.physics->world->setGravity(btVector3(0, -10, 0));
|
||||
|
||||
btCollisionShape *shape = new btBoxShape(btVector3(1, 1, 1));
|
||||
btDefaultMotionState *state = new btDefaultMotionState();
|
||||
btRigidBody *body = new btRigidBody(1, state, shape);
|
||||
kekData.physics->world->addRigidBody(body);
|
||||
}
|
||||
|
||||
void destroy() {
|
||||
delete kekData.physics;
|
||||
}
|
||||
|
||||
void step(float deltaT) {
|
||||
kekData.physics->world->stepSimulation(deltaT, 100);
|
||||
|
||||
//btRigidBody *body = btRigidBody::upcast(kekData.physics->world->getCollisionObjectArray()[0]);
|
||||
//btTransform &t = body->getWorldTransform();
|
||||
//btVector3 &vec = t.getOrigin();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -5,4 +5,6 @@ namespace kek::Physics {
|
||||
void init();
|
||||
void destroy();
|
||||
|
||||
void step(float deltaT);
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user