diff options
| author | DrNuget <drnuget@outlook.com> | 2026-01-07 04:58:54 +0200 |
|---|---|---|
| committer | DrNuget <drnuget@outlook.com> | 2026-01-07 04:58:54 +0200 |
| commit | 7f3aa1cff755d21d972457b05c140cf465b9fa19 (patch) | |
| tree | 748b74a65d71ead9d0d7ade533074c5a643076d7 /src/engine/M_camera.c | |
| parent | 67592a66dd9bcc4d79d23624a9abfd8f2c6e92ff (diff) | |
| download | mnm-7f3aa1cff755d21d972457b05c140cf465b9fa19.tar.gz | |
some basic 3D rendering and the base for chunk generation etc.
Diffstat (limited to 'src/engine/M_camera.c')
| -rw-r--r-- | src/engine/M_camera.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/engine/M_camera.c b/src/engine/M_camera.c new file mode 100644 index 0000000..58414a7 --- /dev/null +++ b/src/engine/M_camera.c @@ -0,0 +1,30 @@ +#include "M_camera.h" + +void M_initCamera(M_Camera *camera, vec3 up) +{ + glm_vec3_zero(camera->pos); + glm_vec3_copy( + up, + camera->up + ); + glm_vec3_copy( + (vec3){0.0f, 0.0f, -1.0f}, + camera->direction + ); +} + +inline void M_cameraViewMatrix(M_Camera* camera) +{ + vec3 target; + glm_vec3_add( + camera->pos, + camera->direction, + target + ); + glm_lookat( + camera->pos, + target, + camera->up, + camera->view_matrix + ); +} |
