From 17d2d2589694030f79f2a37732d72d4e433fd745 Mon Sep 17 00:00:00 2001 From: Aaditya Dhruv Date: Wed, 28 Jan 2026 14:20:23 -0600 Subject: Add camera handling and movement Camera related movements have been moved to camera.c - it tracks the matrices as well so we don't have to call it in block_update The player class is empty right now, but the camera will be a child of the player, and the player a child of the engine --- src/engine.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/engine.c') diff --git a/src/engine.c b/src/engine.c index 84db967..7bfa115 100644 --- a/src/engine.c +++ b/src/engine.c @@ -1,5 +1,6 @@ #include "engine.h" #include "block.h" +#include "camera.h" #include "chunk.h" #include "input.h" #include "window.h" @@ -44,6 +45,14 @@ int engine_init(struct engine *engine) { _engine_insert_chunk_ptrs(engine, chunk); } } + + + // Setup camera + camera_init(&engine->camera); + vec3 camera_pos = { 10.0f, 10.0f, 15.0f }; + camera_set_position(engine->camera, camera_pos); + + // Final step - Start the game engine->game_loop = 1; return 0; } @@ -73,6 +82,7 @@ void engine_draw(struct engine* engine) { glUseProgram(engine->shader->program); for (int i = 0; i < vector_length(engine->objects); i++) { struct block* block = vector_get(engine->objects, i); + camera_update(engine->camera, engine->shader); block_draw(block, engine->shader); } SDL_RenderPresent(engine->window->renderer); -- cgit