Add switching between cameras
authorLukas Jiriste <ljiriste@student.42prague.com>
Wed, 8 Jan 2025 14:38:37 +0000 (15:38 +0100)
committerLukas Jiriste <ljiriste@student.42prague.com>
Wed, 8 Jan 2025 14:38:37 +0000 (15:38 +0100)
The key 'c' and 'x' cycle through cameras. A second camera is now in the
test scene to demonstrate this.

src/main.c
test_scene.rt

index 2b27cb84191b758be04ced6a18ba6a01e503c2e5..48321d6c7c2efa71e243356e64fee01bd414a737 100644 (file)
@@ -221,6 +221,10 @@ int        handle_key_press(int keycode, t_session *s)
                        s->scene.current_light_ind = (s->scene.current_light_ind + s->scene.lights.size - 1) % s->scene.lights.size;
                s->scene.current_element = ft_vec_access(&s->scene.lights, s->scene.current_light_ind);
        }
+       else if (keycode == XK_c)
+               s->scene.current_camera_ind = (s->scene.current_camera_ind + 1) % s->scene.cameras.size;
+       else if (keycode == XK_x)
+               s->scene.current_camera_ind = (s->scene.current_camera_ind + s->scene.cameras.size - 1) % s->scene.cameras.size;
        if (keycode != XK_Escape && keycode != XK_o && keycode != XK_l && keycode != XK_k)
                draw(s);
        return (0);
index db3edf212923d596b4be1f1cb0366e7781d32153..3ade7e9a9fbfe62c9559840127a4c74839996bf9 100644 (file)
@@ -1,5 +1,6 @@
 L 3,0,0 0.4 255,0,0
 L 3,1,0 0.4 0,0,255
+C 2,0,0 1,0,-1 70
 C 0,0,0 1,0,0 90
 sp 3,0.5,-0.7 0.6 255,255,255
 L  3,0.5,-0.5 0.01 0,255,0