diff options
| author | Aaditya Dhruv <[email protected]> | 2026-01-28 14:20:23 -0600 |
|---|---|---|
| committer | Aaditya Dhruv <[email protected]> | 2026-01-28 14:20:23 -0600 |
| commit | 17d2d2589694030f79f2a37732d72d4e433fd745 (patch) | |
| tree | 918cc9f51276c7401c273fe05ad12d10edfaa40f /src/engine.c | |
| parent | 77dddef4153688218bec0b50f547622daa18903d (diff) | |
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
Diffstat (limited to 'src/engine.c')
| -rw-r--r-- | src/engine.c | 10 |
1 files changed, 10 insertions, 0 deletions
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); |
