summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/daw.c31
-rw-r--r--src/include/daw/daw.h2
2 files changed, 20 insertions, 13 deletions
diff --git a/src/daw.c b/src/daw.c
index 2659f3b..56577b9 100644
--- a/src/daw.c
+++ b/src/daw.c
@@ -112,7 +112,6 @@ Instance* engine_init(const char* windowtitle, i32 windowWidth, i32 windowHeight
/* initialize resources */
Resources* resources = calloc(1, sizeof(Resources));
- // TODO: Initialize them :)
w = Window_new(&Platform_GLFW, windowtitle,
WINDOW_FRAMEWORK_GLFW, WINDOW_RENDERER_OPENGL,
@@ -132,12 +131,6 @@ Instance* engine_init(const char* windowtitle, i32 windowWidth, i32 windowHeight
p->mem = memory_new(initial_memory);
- p->cam = &default_camera;
-
- glm_ortho_default(45.f, p->cam->per);
-
- // TODO: Add global bindings
-
INFO("Available cores: %d", nproc());
GLOBAL_PLATFORM = p;
@@ -214,6 +207,17 @@ static const char* default_quad_shader_fragment_src =
"}";
+void framebuffer_size_callback_default(ivec3* dst,ivec2 src) {
+ glm_ivec2_copy(src, *dst);
+}
+
+void camera_reset_callback_default(Camera* dst, ivec2 src) {
+ *dst = (Camera)DEFAULT_CAMERA;
+ glm_ortho_default(45.f, dst->per);
+}
+
+
+
i32 engine_run(Instance* p, StateType initial_state, void* state_arg) {
// TODO: MOVE TO INIT
@@ -236,7 +240,6 @@ i32 engine_run(Instance* p, StateType initial_state, void* state_arg) {
StateType state = initial_state;
Window* w = p->window;
- Camera default_renderbuffer_camera = default_camera;
{
u64 state_init_time = get_time();
@@ -261,7 +264,11 @@ i32 engine_run(Instance* p, StateType initial_state, void* state_arg) {
{.num_textures = 1, .num_renderbuffers = 1, .dimensions = {wsz[0], wsz[1], 0}},
};
window_init_renderstack(w, 1, sizeof(t) / sizeof(t[0]), p, t);
- //w->render_targets->cam[0] = &default_renderbuffer_camera;
+
+ w->render_targets->framebuffer_size_callback[0] = &framebuffer_size_callback_default;
+ w->render_targets->camera_reset_callback[0] = &camera_reset_callback_default;
+ camera_reset_callback_default(&default_camera, wsz);
+ w->render_targets->cam[0] = &default_camera;
}
u32 first_texture = 0;
@@ -330,7 +337,6 @@ i32 engine_run(Instance* p, StateType initial_state, void* state_arg) {
i_ctx_reset();
// Reset camera to default camera
- p->cam = &default_camera;
free(w->render_targets);
state = next_state;
@@ -359,7 +365,10 @@ i32 engine_run(Instance* p, StateType initial_state, void* state_arg) {
};
window_init_renderstack(w, 1, sizeof(t) / sizeof(t[0]), p, t);
- //w->render_targets->cam[0] = &default_camera;
+ w->render_targets->framebuffer_size_callback[0] = &framebuffer_size_callback_default;
+ w->render_targets->camera_reset_callback[0] = &camera_reset_callback_default;
+ camera_reset_callback_default(&default_camera, wsz);
+ w->render_targets->cam[0] = &default_camera;
}
u32 first_texture = 0;
diff --git a/src/include/daw/daw.h b/src/include/daw/daw.h
index ca611b3..13f095d 100644
--- a/src/include/daw/daw.h
+++ b/src/include/daw/daw.h
@@ -34,8 +34,6 @@ typedef struct Instance {
u16 fps_target;
/* TODO: Move input ctx/bindings to window */
- /* TODO: Move cam to window->renderer */
- Camera *cam;
/* Global resources that live from engine_init to engine_free */
/* TODO: Add state-specific resources */