void DebugSystem::Update( const GameTime& gameTime_ ) { m_fFPSTime += gameTime_.FrameTime(); m_iFPSCount++; if (m_fFPSTime >= 1.0f) { //AverageDrawCalls = drawCallThisSecond / m_iFPSCount; //AverageTrianglesDrawn = trianglesDrawnThisSecond / m_iFPSCount; //Reset startSecondTick and repaintCountSecond m_fFPSTime -= 1.0f; float FPSDelta = (float)m_iFPSCount * m_fFPSTime; //FPS - delta, to reduce the calculation to 1 second precisely m_iLastFPSCount = (int)( (float)m_iFPSCount - FPSDelta + m_fFPSLastDelta ); m_iFPSCount = 0; m_fFPSLastDelta = FPSDelta; //drawCallThisSecond = 0; //trianglesDrawnThisSecond = 0; //CA_TRACE("FPS %d\n", m_iLastFPSCount); GlobalEventSet::Instance().fireEvent( FPSChangeEvent::FPSChangeEventName, FPSChangeEvent(m_iLastFPSCount)); } }
/** * <param name="gameTime"></param> * <param name="horizontalAxis_"> value between -1.0 and 1.0 </param> * <param name="verticalAxis_"> value between -1.0 and 1.0 </param> * <param name="rollAxis_"> value between -1.0 and 1.0 </param> * <param name="zoom"> zoom value </param> */ void ArcBallCameraController::HandleControls(const GameTime& gameTime_, float rightAxis_, float upAxis_, float forwardAxis_, float horizontalOrbit_, float verticalOrbit_, float /*rollOrbit_*/, float zoom_) { float r = rightAxis_ * gameTime_.FrameTime() * m_fInputDisplacementRate; float u = upAxis_ * gameTime_.FrameTime() * m_fInputDisplacementRate; float f = forwardAxis_ * gameTime_.FrameTime() * m_fInputDisplacementRate; float dH = horizontalOrbit_ * gameTime_.FrameTime() * m_fInputTurnRate; float dV = verticalOrbit_ * gameTime_.FrameTime() * m_fInputTurnRate; //float dR = rollOrbit_ * gameTime_.FrameTime() * m_fInputTurnRate; if ( dH != 0.0f ) RotateTargetRight(dH);//OrbitUp( dH ); if ( dV != 0.0f ) RotateTargetUp(dV); //OrbitRight( dV ); //if ( dR != 0.0f ) RotateClockwise( dR ); //decrease distance to target m_fDistance += zoom_ * gameTime_.FrameTime() * m_fInputDistanceRate; if ( m_fDistance < 0.001f ) m_fDistance = 0.001f; if ( r != 0.0f || u != 0.0f || f != 0.0f ) { Vector3F pos = Target() + (Right() * r) + (Up() * u) + (Direction() * f); Target(pos); /*Vector3F target = pos; target.Normalize(); target *= m_fDistance; target += pos; SetCamera(pos, target, Up());*/ } }
void InGameLogger::Update(const GameTime& gameTime_) { float time = gameTime_.FrameTime(); for (int i=0; i<NBLOGLINES; i++) { m_Lines[i].delay -= time; if (m_Lines[i].delay <= 0.0f) { m_Lines[i].isDeleted = true; } } }