void triMeshApp::update() { m_dynamicsWorld->stepSimulation(1.0f, 10); double now = getElapsedSeconds(); double dt = now - lastTime; lastTime = now; bool objectsErased = false; for(int i = 0; i < mObjects.size(); i++) { mObjects[i]->update(dt); if(mObjects[i]->lifetime > MAX_LIFETIME) { mObjects.erase(mObjects.begin() + i); objectsErased = true; } } if(objectsErased) activateAllObjects(m_dynamicsWorld); yrot += dt * 36.0; if(yrot >=360.0) yrot = 0.0; }
// frame listener bool frameStarted(const FrameEvent &evt) { mKeyboard->capture(); // update physics simulation dynamicsWorld->stepSimulation(evt.timeSinceLastFrame,50); return mContinue; }
// framelistener bool frameStarted(const FrameEvent &evt) { mKeyboard->capture(); // EN:: update physics simulation // BR:: atualiza simulação da física dynamicsWorld->stepSimulation(evt.timeSinceLastFrame,50); return mContinue; }
void update() { if( mCapture->checkNewFrame() ) { delete mTexture; mTexture = new gl::Texture( mCapture->getSurface() ); } if( ! mPaused ) dynamicsWorld->stepSimulation(1.0f, 10); }
void BulletExample::drawEvent() { GL::defaultFramebuffer.clear(GL::FramebufferClear::Color|GL::FramebufferClear::Depth); /* Housekeeping: remove any objects which are far away from the origin */ for(Object3D* obj = _scene.children().first(); obj; ) { Object3D* next = obj->nextSibling(); if(obj->transformation().translation().dot() > 100*100) delete obj; obj = next; } /* Step bullet simulation */ _bWorld.stepSimulation(_timeline.previousFrameDuration(), 5); /* Draw the cubes */ if(_drawCubes) _camera->draw(_drawables); /* Debug draw. If drawing on top of cubes, avoid flickering by setting depth function to <= instead of just <. */ if(_drawDebug) { if(_drawCubes) GL::Renderer::setDepthFunction(GL::Renderer::DepthFunction::LessOrEqual); _debugDraw.setTransformationProjectionMatrix( _camera->projectionMatrix()*_camera->cameraMatrix()); _bWorld.debugDrawWorld(); if(_drawCubes) GL::Renderer::setDepthFunction(GL::Renderer::DepthFunction::Less); } swapBuffers(); _timeline.nextFrame(); redraw(); }
void BulletWrapper::step(TimeDelta deltaTime) { m_DynamicsWorld->stepSimulation((btScalar)deltaTime); }
void RenderDbg(bool debug, float dt) { dynamicsWorld->stepSimulation(dt,0);//ms / 1000000.f); if (debug) dynamicsWorld->debugDrawWorld(); }