From c1aa2130af1d0e5c72f890fc5a72fa5830a4121b Mon Sep 17 00:00:00 2001 From: Warwick Date: Thu, 25 Sep 2025 16:46:18 +0100 Subject: [PATCH] Started creating some outlines for s=how some components might work --- src/main.c | 4 +--- src/shader.c | 0 src/shader.h | 15 +++++++++++++++ src/window.c | 0 src/window.h | 18 ++++++++++++++++++ 5 files changed, 34 insertions(+), 3 deletions(-) create mode 100644 src/shader.c create mode 100644 src/shader.h create mode 100644 src/window.c create mode 100644 src/window.h diff --git a/src/main.c b/src/main.c index 40111f3..f0319dc 100644 --- a/src/main.c +++ b/src/main.c @@ -1,13 +1,11 @@ #include #include -#include #include #include #include "SDL3/SDL_events.h" #include "SDL3/SDL_keycode.h" #include "camera.h" -#include "cglm/io.h" // settings const unsigned int SCR_WIDTH = 800; @@ -171,7 +169,7 @@ int main(int argc, char *argv[]) { // Handle camera camera_tick(&camera); - // TODO: make shader file + // TODO: make shader handler mat4 mvp; camera_calc_mvp(&mvp, &camera); // glm_mat4_print(mvp,stdout); diff --git a/src/shader.c b/src/shader.c new file mode 100644 index 0000000..e69de29 diff --git a/src/shader.h b/src/shader.h new file mode 100644 index 0000000..c794cc1 --- /dev/null +++ b/src/shader.h @@ -0,0 +1,15 @@ +#pragma once + +typedef struct { + const char *vertex_shader_source_path; + const char *fragment_shader_source_path; +} wn_shader_code_location; + +struct wn_shader_s { + unsigned int shaderProgram; +}; +typedef struct wn_shader_s wn_shader; + +wn_shader wn_shader_init(wn_shader_code_location shader_code_location); + +void wn_shader_deinit(wn_shader shader); diff --git a/src/window.c b/src/window.c new file mode 100644 index 0000000..e69de29 diff --git a/src/window.h b/src/window.h new file mode 100644 index 0000000..f0ee870 --- /dev/null +++ b/src/window.h @@ -0,0 +1,18 @@ +#pragma once + +#include "SDL3/SDL_events.h" +#include "SDL3/SDL_render.h" +#include "SDL3/SDL_video.h" + +struct wn_window_s { + SDL_Window *window; + SDL_Renderer *renderer; + SDL_GLContext *glcontext; + SDL_Event *event; +}; +typedef struct wn_window_s wn_window; + +wn_window *wn_window_init(wn_window *window); +void wn_window_deinit(wn_window *window); + +void wn_swapwindow(wn_window*);