diff options
Diffstat (limited to 'src/rendering')
| -rw-r--r-- | src/rendering/include/engine/rendering/rendering.h | 4 | ||||
| -rw-r--r-- | src/rendering/src/rendering.c | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/rendering/include/engine/rendering/rendering.h b/src/rendering/include/engine/rendering/rendering.h index e1232d5..87de0b2 100644 --- a/src/rendering/include/engine/rendering/rendering.h +++ b/src/rendering/include/engine/rendering/rendering.h @@ -72,6 +72,10 @@ typedef enum { typedef struct { /* Position of the camera in world-space. */ vec3 pos; + + /* The viewing direction of the camera, relative to the camera. */ + vec3 dir; + /* Perspective matrix. Initialize with r_perspective_ortho or r_perspective. */ /* Alternatively, use `glm_perspective` or `glm_ortho`. */ mat4 per; diff --git a/src/rendering/src/rendering.c b/src/rendering/src/rendering.c index 845cd70..aa9306e 100644 --- a/src/rendering/src/rendering.c +++ b/src/rendering/src/rendering.c @@ -36,8 +36,9 @@ void render_present(Window* w) { const f32 ratio = (float)w->windowsize[0] / (float)w->windowsize[1]; mat4 view; // view - vec3 angle = {1, 2.0, 1}; - glm_vec3_sub(c.pos, angle, angle); + vec3 angle; // viewing angle / direction of the camera + + glm_vec3_sub(c.pos, c.dir, angle); glm_lookat(c.pos, angle, GLM_YUP, view); for (i32 i = 0; i < drawcall_len; i++) { |
