🎉 begin project
This commit is contained in:
commit
8da6ddc689
29 changed files with 1261 additions and 0 deletions
36
Source/Core/VUI.cppm
Normal file
36
Source/Core/VUI.cppm
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
module;
|
||||
#include <cstdint>
|
||||
|
||||
export module VUI:Time;
|
||||
|
||||
import :TimeInternal;
|
||||
|
||||
static uint64_t s_TimerOffset{0};
|
||||
static double s_LastTime{0};
|
||||
static double s_DeltaTime{0};
|
||||
|
||||
namespace VUI {
|
||||
export double GetDeltaTime() { return s_DeltaTime; };
|
||||
export double GetTime() {
|
||||
return static_cast<double>(GetTimerValue() - s_TimerOffset) /
|
||||
static_cast<double>(GetTimerFrequency());
|
||||
};
|
||||
export uint64_t GetTimeNs() {
|
||||
return static_cast<uint64_t>(
|
||||
static_cast<double>(GetTimerValue() - s_TimerOffset) * 1e9 /
|
||||
static_cast<double>(GetTimerFrequency()));
|
||||
}
|
||||
export void SetTime(const uint64_t time) {
|
||||
const auto dTimerValue = static_cast<double>(GetTimerValue());
|
||||
const auto dTime = static_cast<double>(time);
|
||||
const auto dFrequency = static_cast<double>(GetTimerFrequency());
|
||||
s_TimerOffset = static_cast<uint64_t>(dTimerValue - dTime * dFrequency);
|
||||
};
|
||||
export uint64_t GetTimeOffset() { return s_TimerOffset; }
|
||||
|
||||
export void UpdateDeltaTime() {
|
||||
const auto time = GetTime();
|
||||
s_DeltaTime = time - s_LastTime;
|
||||
s_LastTime = time;
|
||||
};
|
||||
} // namespace VUI
|
||||
Loading…
Add table
Add a link
Reference in a new issue