//---------------------------------------------------------------------------- void BouncingSpheres::OnIdle () { MeasureTime(); PhysicsTick(); GraphicsTick(); UpdateFrameCount(); }
//---------------------------------------------------------------------------- void BouncingTetrahedra::OnIdle () { MeasureTime(); PhysicsTick(); GraphicsTick(); UpdateFrameCount(); }
//---------------------------------------------------------------------------- void BouncingBall::OnIdle () { MeasureTime(); #ifndef SINGLE_STEP PhysicsTick(); #endif GraphicsTick(); UpdateFrameCount(); }
//---------------------------------------------------------------------------- void Fluids3D::OnIdle () { MeasureTime(); #ifdef USE_PARTICLES bool particlesNeedUpdate = false; #endif mIndexBufferNeedsUpdate = false; if (MoveCamera()) { #ifdef USE_PARTICLES particlesNeedUpdate = true; #endif mIndexBufferNeedsUpdate = true; } if (MoveObject()) { #ifdef USE_PARTICLES particlesNeedUpdate = true; #endif mIndexBufferNeedsUpdate = true; mScene->Update(); } #ifdef USE_PARTICLES if (particlesNeedUpdate) { mCube->GenerateParticles(mCamera); } #endif if (mIndexBufferNeedsUpdate) { UpdateIndexBuffer(); mIndexBufferNeedsUpdate = false; } if (!mSingleStep) { PhysicsTick(); } GraphicsTick(); UpdateFrameCount(); }
//---------------------------------------------------------------------------- void RoughPlaneSolidBox::OnIdle () { MeasureTime(); MoveCamera(); if (MoveObject()) { mScene->Update(); } #ifndef SINGLE_STEP PhysicsTick(); #endif GraphicsTick(); UpdateFrameCount(); }
//---------------------------------------------------------------------------- void SimplePendulumFriction::OnIdle () { MeasureTime(); MoveCamera(); if (MoveObject()) { mScene->Update(); } #ifndef SINGLE_STEP PhysicsTick(); #endif GraphicsTick(); UpdateFrameCount(); }
//---------------------------------------------------------------------------- void IntersectingBoxes::OnIdle () { MeasureTime(); MoveCamera(); if (MoveObject()) { mScene->Update(); } #ifndef SINGLE_STEP PhysicsTick(); #endif GraphicsTick(); UpdateFrameCount(); }
//---------------------------------------------------------------------------- void WaterDropFormation::OnIdle () { MeasureTime(); #ifndef SINGLE_STEP float currSeconds = (float)GetTimeInSeconds(); float diff = currSeconds - mLastSeconds; if (diff >= 0.033333f) { PhysicsTick(); mCuller.ComputeVisibleSet(mScene); mLastSeconds = currSeconds; } #endif GraphicsTick(); UpdateFrameCount(); }
//---------------------------------------------------------------------------- void Rope::OnIdle () { MeasureTime(); MoveCamera(); if (MoveObject()) { mScene->Update(); } float currIdle = (float)GetTimeInSeconds(); float diff = currIdle - mLastIdle; if (diff >= 0.001f) { mLastIdle = currIdle; PhysicsTick(); GraphicsTick(); } UpdateFrameCount(); }
//---------------------------------------------------------------------------- void GelatinCube::OnIdle () { MeasureTime(); bool needSort = MoveCamera(); if (MoveObject()) { mScene->Update(); needSort = true; } if (needSort) { mBox->SortFaces(mCamera->GetDVector()); } #ifndef SINGLE_STEP PhysicsTick(); #endif GraphicsTick(); UpdateFrameCount(); }