summaryrefslogtreecommitdiff
path: root/src/rendering
diff options
context:
space:
mode:
authoronelin <oscar@nelin.dk>2025-03-13 17:48:58 +0000
committeronelin <oscar@nelin.dk>2025-03-13 17:55:55 +0000
commita9713cdda4df398cbcb3131cce47cdb6e6d87386 (patch)
treeba044f71ffa5a60024dd1341e78772adffe28159 /src/rendering
parentbb170ff42b30dd44c2352bd2c93ad2974241721c (diff)
Use nanoseconds for time measurements
Diffstat (limited to 'src/rendering')
-rw-r--r--src/rendering/include/engine/rendering/window.h2
-rw-r--r--src/rendering/src/rendering.c2
-rw-r--r--src/rendering/src/window.c14
3 files changed, 12 insertions, 6 deletions
diff --git a/src/rendering/include/engine/rendering/window.h b/src/rendering/include/engine/rendering/window.h
index 9d44855..fff7bc6 100644
--- a/src/rendering/include/engine/rendering/window.h
+++ b/src/rendering/include/engine/rendering/window.h
@@ -10,7 +10,7 @@ extern "C" {
#ifndef ENGINE_RENDERING_WINDOW_H_EXCLUDE_EXTERNS
extern void* window_poll_events;
-extern f64 (*get_time)(void);
+extern u64 (*get_time)(void);
#endif
typedef enum {
diff --git a/src/rendering/src/rendering.c b/src/rendering/src/rendering.c
index 8a49e92..1eb5438 100644
--- a/src/rendering/src/rendering.c
+++ b/src/rendering/src/rendering.c
@@ -242,7 +242,7 @@ void render_present(Window* w) {
// bind index buffer
- f64 t = get_time();
+ u64 t = get_time();
RenderObject* o = dc.data.model.model;
vec3 pos;
glm_vec3_copy(dc.data.model.pos, pos);
diff --git a/src/rendering/src/window.c b/src/rendering/src/window.c
index abcaf1e..8b964ce 100644
--- a/src/rendering/src/window.c
+++ b/src/rendering/src/window.c
@@ -22,7 +22,7 @@ extern Platform* GLOBAL_PLATFORM;
void *window_poll_events = NULL;
/* wrapper to get time in ms */
-f64 (*get_time)(void) = NULL;
+u64 (*get_time)(void) = NULL;
/* GLFW And vulkan spaghetti boiler */
void glfw_err_callback(int code, const char* description) {
@@ -59,8 +59,14 @@ GladGLContext* create_context(GLFWwindow *window) {
return context;
}
-static inline f64 glfw_gettime_msec() {
- return glfwGetTime() / 1000.0;
+/* Should honestly just write my own */
+static inline u64 glfw_gettime_msec() {
+ return glfwGetTime() * 1000;
+}
+
+/* Should honestly just write my own */
+static inline u64 glfw_gettime_nsec() {
+ return (f64)glfwGetTime() * 1000000000;
}
Window* init_window_glfw(
@@ -128,7 +134,7 @@ Window* init_window_glfw(
ret->context = NULL;
window_poll_events = &glfwPollEvents;
- get_time = &glfw_gettime_msec;
+ get_time = &glfw_gettime_nsec;
return ret;
}