SpiecsEngine
 
Loading...
Searching...
No Matches
TimeStep.cpp
Go to the documentation of this file.
1/**
2* @file TimeStep.cpp.
3* @brief The TimeStep Class Implementation.
4* @author Spices.
5*/
6
7#include "Pchheader.h"
8#include "TimeStep.h"
9
10namespace Spices {
11
13 : m_FrameTime(0.0f)
14 , m_GameTime(0.0f)
15 , m_Frames(0)
16 {
18
19 /**
20 * @brief Init GameTime and FrameTime.
21 */
22 m_StartTime = std::chrono::high_resolution_clock::now();
23 m_LastTime = std::chrono::high_resolution_clock::now();
24 }
25
27 {
29
30 /**
31 * @brief Recording the current time.
32 */
33 const auto nowTime = std::chrono::high_resolution_clock::now();
34
35 /**
36 * @brief Calculate frmae time.
37 */
38 m_FrameTime = std::chrono::duration<float, std::chrono::seconds::period>(nowTime - m_LastTime).count();
39
40 /**
41 * @brief Calculate game time.
42 */
43 m_GameTime = std::chrono::duration<float, std::chrono::seconds::period>(nowTime - m_StartTime).count();
44
45 /**
46 * @brief Setting current time.
47 */
48 m_LastTime = nowTime;
49
50 /**
51 * @brief Update frames.
52 */
53 ++m_Frames;
54 m_Frames %= UINT64_MAX;
55 }
56}
#define SPICES_PROFILE_ZONE
float m_FrameTime
time step(s) during frames.
Definition TimeStep.h:85
void Flush()
Refresh time in each engine loop.
Definition TimeStep.cpp:26
TimeStep()
Constructor Function.
Definition TimeStep.cpp:12
float m_GameTime
time step(s) since Engine Start.
Definition TimeStep.h:90
uint64_t m_Frames
Frames since Engine Start.
Definition TimeStep.h:95
This Class handles our engine time step during frames. Global Unique.
Definition TimeStep.h:22