Files
ps1_render/Engine/time/time_manager.h
ExilProductions 475a1d606a Refactor renderer and input handling; add OBJ loader and math utilities
- Updated renderer.h to replace Vec3 and Vec2 structs with Math namespace equivalents.
- Introduced Texture struct to manage texture properties.
- Modified Triangle struct to use Texture instead of GLuint for texture handling.
- Removed deprecated matrix functions and replaced them with Math namespace methods.
- Implemented InputManager class for better input handling, including key and mouse state tracking.
- Added ObjLoader class to load OBJ files and associated textures, with MTL file parsing.
- Created math utilities for fixed-point arithmetic and vector/matrix operations.
- Added time management class for frame timing and delta time calculations.
2025-05-02 15:46:45 +02:00

32 lines
875 B
C++

#ifndef TIME_H
#define TIME_H
#include <cstdint>
class Time {
public:
Time();
// Update time and calculate delta time (call each frame)
void Update();
// Get delta time in seconds (fixed-point representation)
int32_t GetDeltaTime() const;
// Get total elapsed time in seconds
float GetElapsedTime() const;
private:
// Fixed-point scale for PS1-style precision
static constexpr int32_t FIXED_POINT_SCALE = 4096; // 12-bit fractional part
double lastFrameTime; // Last frame timestamp (in seconds, GLFW time)
double currentFrameTime; // Current frame timestamp
int32_t deltaTime; // Delta time in fixed-point
float elapsedTime; // Total elapsed time in seconds
// Convert float seconds to fixed-point
int32_t SecondsToFixed(float seconds) const;
};
#endif // TIME_H