summaryrefslogtreecommitdiff
path: root/src/rendering
diff options
context:
space:
mode:
authoronelin <oscar@nelin.dk>2025-04-13 08:33:52 +0000
committeronelin <oscar@nelin.dk>2025-04-13 08:41:40 +0000
commit5cd270925af707599a3f842e1e969d5074ae80a8 (patch)
treef5188ad94131824710c2452cc32fee0bc156af2f /src/rendering
parent0dfd07a115ab626c97080dbe87e3c4904f091041 (diff)
Remove custom vector implementation
cglm go brr
Diffstat (limited to 'src/rendering')
-rw-r--r--src/rendering/include/engine/rendering/platform.h2
-rw-r--r--src/rendering/include/engine/rendering/platform_glfw.h2
-rw-r--r--src/rendering/include/engine/rendering/rendering.h9
-rw-r--r--src/rendering/include/engine/rendering/window.h2
-rw-r--r--src/rendering/src/rendering.c21
-rw-r--r--src/rendering/src/window.c24
6 files changed, 20 insertions, 40 deletions
diff --git a/src/rendering/include/engine/rendering/platform.h b/src/rendering/include/engine/rendering/platform.h
index 5d2408e..9497fdb 100644
--- a/src/rendering/include/engine/rendering/platform.h
+++ b/src/rendering/include/engine/rendering/platform.h
@@ -5,7 +5,7 @@
extern "C" {
#endif
-#include <cglm/cglm.h>
+#include <cglm/ivec2.h>
#include <engine/core/types.h>
// TODO: We only need the window once all the garbage in Instance is cleaned up.
diff --git a/src/rendering/include/engine/rendering/platform_glfw.h b/src/rendering/include/engine/rendering/platform_glfw.h
index cbc3520..056d130 100644
--- a/src/rendering/include/engine/rendering/platform_glfw.h
+++ b/src/rendering/include/engine/rendering/platform_glfw.h
@@ -5,7 +5,7 @@
extern "C" {
#endif
-#include <cglm/cglm.h>
+#include <cglm/ivec2.h>
#include <engine/core/types.h>
#include <engine/rendering/platform.h>
diff --git a/src/rendering/include/engine/rendering/rendering.h b/src/rendering/include/engine/rendering/rendering.h
index d338778..5badec7 100644
--- a/src/rendering/include/engine/rendering/rendering.h
+++ b/src/rendering/include/engine/rendering/rendering.h
@@ -6,10 +6,9 @@ extern "C" {
#endif
#include <engine/core/types.h>
-#include <engine/utils/vector.h>
#include <engine/rendering/window.h>
-#include <cglm/cglm.h>
+#include <cglm/ivec2.h>
/* Definitions */
#define RGBA(_r, _g, _b, _a) ((Engine_color){.r = _r, .g = _g, .b = _b, .a = _a})
@@ -34,7 +33,7 @@ typedef struct {
typedef struct {
u32 texture_id;
- v2_i32 coord;
+ ivec2 coord;
} Sprite;
typedef enum {
@@ -230,8 +229,8 @@ void r_reset_camera(Camera* c);
//void window_size_callback(GLFWwindow* window, i32 width, i32 height);
-void engine_draw_sprite(Sprite* s, v2_i32* pos, f32 scale);
-void engine_draw_sprite_ex(Sprite* s, v2_i32* pos, f32 scale,
+void engine_draw_sprite(Sprite* s, ivec2* pos, f32 scale);
+void engine_draw_sprite_ex(Sprite* s, ivec2* pos, f32 scale,
Engine_color colormod);
void engine_draw_model(RenderObject* o, vec3 pos);
diff --git a/src/rendering/include/engine/rendering/window.h b/src/rendering/include/engine/rendering/window.h
index 83384bc..10d4ddd 100644
--- a/src/rendering/include/engine/rendering/window.h
+++ b/src/rendering/include/engine/rendering/window.h
@@ -5,7 +5,7 @@
extern "C" {
#endif
-#include <cglm/cglm.h>
+#include <cglm/ivec2.h>
#include <engine/core/types.h>
diff --git a/src/rendering/src/rendering.c b/src/rendering/src/rendering.c
index 424d3d5..b96e85a 100644
--- a/src/rendering/src/rendering.c
+++ b/src/rendering/src/rendering.c
@@ -3,6 +3,9 @@
#include <glad/gl.h>
#include <GLFW/glfw3.h>
+#include <cglm/cam.h>
+#include <cglm/vec2.h>
+#include <cglm/mat4.h>
#include <engine/engine.h>
@@ -593,7 +596,7 @@ void r_reset_camera(Camera* c) {
}
}
-void engine_draw_sprite(Sprite* s, v2_i32* pos, f32 scale) {
+void engine_draw_sprite(Sprite* s, ivec2* pos, f32 scale) {
if (drawcall_len + 1 >= drawcall_limit) return;
#ifdef _DEBUG
if (s == NULL) __asm__("int3;");
@@ -602,14 +605,14 @@ void engine_draw_sprite(Sprite* s, v2_i32* pos, f32 scale) {
(RenderDrawCall){.type = RenderDrawCallType_Sprite,
.data.sprite = {
.sprite = s,
- .x = pos->x,
- .y = pos->y,
+ .x = *pos[0],
+ .y = *pos[1],
.scale = scale,
//.mod = {0xFF, 0xFF, 0xFF, 0xFF},
}};
}
-void engine_draw_sprite_ex(Sprite* s, v2_i32* pos, f32 scale,
+void engine_draw_sprite_ex(Sprite* s, ivec2* pos, f32 scale,
Engine_color colormod) {
if (drawcall_len + 1 >= drawcall_limit) return;
#ifdef _DEBUG
@@ -619,8 +622,8 @@ void engine_draw_sprite_ex(Sprite* s, v2_i32* pos, f32 scale,
.type = RenderDrawCallType_Sprite,
.data.sprite = {
.sprite = s,
- .x = pos->x,
- .y = pos->y,
+ .x = *pos[0],
+ .y = *pos[1],
.scale = scale,
//.mod = {colormod.r, colormod.g, colormod.b, colormod.a},
}};
@@ -650,9 +653,9 @@ Sprite sprite_new(u64 tid, u8 coord) {
//((struct Resources*)GLOBAL_PLATFORM->data)->textures[tid]->tilesize;
return (Sprite){
.texture_id = (u32)tid,
- (v2_i32){
- .x = ts * (coord & 0x0F),
- .y = ts * ((coord & 0xF0) >> 4),
+ {
+ ts * (coord & 0x0F),
+ ts * ((coord & 0xF0) >> 4),
}};
}
diff --git a/src/rendering/src/window.c b/src/rendering/src/window.c
index e784158..e78ede0 100644
--- a/src/rendering/src/window.c
+++ b/src/rendering/src/window.c
@@ -1,4 +1,3 @@
-#include <stdio.h>
#include <time.h>
/* TODO: REMOVE THIS INCLUSION */
@@ -15,21 +14,10 @@
#undef GLFW_INCLUDE_NONE
#include <GLFW/glfw3.h>
-#include <cglm/cglm.h>
+#include <cglm/ivec2.h>
extern Instance* GLOBAL_PLATFORM;
-
-/* Should honestly just write my own */
-static inline u64 glfw_gettime_msec(void) {
- return (u64)(glfwGetTime() * 1000.0);
-}
-
-/* Should honestly just write my own */
-static inline u64 glfw_gettime_usec(void) {
- return (u64)(glfwGetTime() * 1000000.0);
-}
-
static inline u64 platform_get_time_usec(void) {
struct timespec t;
int res = clock_gettime(CLOCK_MONOTONIC, &t);
@@ -60,13 +48,3 @@ void get_mousepos(double *x, double *y) {
}
}
-
-bool window_should_close(Window* w) {
- switch(w->framework) {
- case WINDOW_FRAMEWORK_GLFW:
- return glfwWindowShouldClose(w->window);
- break;
- default:
- return false;
- }
-}