Guest User

Untitled

a guest
Jun 23rd, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.13 KB | None | 0 0
  1. SHE::cTimer::cTimer()
  2. {
  3.     QueryPerformanceFrequency(&m_LInt);
  4.     m_FPS=0;
  5.     m_TempDelta=GetTime();
  6.     m_DeltaTime=0;
  7.     m_FrameCount=0;
  8.     m_CurrentTime=0;
  9.     m_PreviousTime=0;
  10. }
  11. void SHE::cTimer::Update()
  12. {
  13.     m_FrameCount++;
  14.     m_CurrentTime = GetTime();
  15.     m_DeltaTime=GetTime()-m_TempDelta;
  16.     m_TempDelta=GetTime();
  17.     if((m_CurrentTime-m_PreviousTime) > 1.0 || m_FrameCount == 0)
  18.     {
  19.         m_FPS=(double)m_FrameCount/(m_CurrentTime-m_PreviousTime);
  20.         //m_DeltaTime=m_CurrentTime-m_PreviousTime;
  21.         m_PreviousTime=m_CurrentTime;
  22.         m_FrameCount = 0;
  23.     }
  24. }
  25. GLfloat SHE::cTimer::GetFPS()
  26. {
  27.     return m_FPS;
  28. }
  29. GLfloat SHE::cTimer::GetDeltaTime()
  30. {
  31.     return m_DeltaTime;
  32. }
  33. GLfloat SHE::cTimer::GetTime()
  34. {
  35.     LARGE_INTEGER TempNowTime;
  36.     QueryPerformanceCounter(&TempNowTime);
  37.     return (GLfloat)(TempNowTime.QuadPart/(double)m_LInt.QuadPart);
  38. }
  39. class cTimer
  40.     {
  41.     private:
  42.         GLfloat m_DeltaTime;
  43.         GLfloat m_TempDelta;
  44.         GLfloat m_FPS;
  45.         GLfloat m_FrameCount;
  46.         GLfloat m_CurrentTime;
  47.         GLfloat m_PreviousTime;
  48.         LARGE_INTEGER m_LInt;
  49.         GLfloat GetTime();
  50.     public:
  51.         cTimer();
  52.         void Update();
  53.         GLfloat GetDeltaTime();
  54.         GLfloat GetFPS();
  55.     };
Add Comment
Please, Sign In to add comment