本文整理汇总了C++中btDiscreteDynamicsWorld::stepSimulation方法的典型用法代码示例。如果您正苦于以下问题:C++ btDiscreteDynamicsWorld::stepSimulation方法的具体用法?C++ btDiscreteDynamicsWorld::stepSimulation怎么用?C++ btDiscreteDynamicsWorld::stepSimulation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类btDiscreteDynamicsWorld
的用法示例。
在下文中一共展示了btDiscreteDynamicsWorld::stepSimulation方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: update
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;
}
示例2: frameStarted
// frame listener
bool frameStarted(const FrameEvent &evt)
{
mKeyboard->capture();
// update physics simulation
dynamicsWorld->stepSimulation(evt.timeSinceLastFrame,50);
return mContinue;
}
示例3: update
void update()
{
if( mCapture->checkNewFrame() ) {
delete mTexture;
mTexture = new gl::Texture( mCapture->getSurface() );
}
if( ! mPaused )
dynamicsWorld->stepSimulation(1.0f, 10);
}
示例4: drawEvent
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();
}
示例5: step
void BulletWrapper::step(TimeDelta deltaTime)
{
m_DynamicsWorld->stepSimulation((btScalar)deltaTime);
}
示例6: RenderDbg
void RenderDbg(bool debug, float dt) {
dynamicsWorld->stepSimulation(dt,0);//ms / 1000000.f);
if (debug) dynamicsWorld->debugDrawWorld();
}