camera.c
1 /* ************************************************************************** */ 2 /* */ 3 /* ::: :::::::: */ 4 /* camera.c :+: :+: :+: */ 5 /* +:+ +:+ +:+ */ 6 /* By: gychoi <gychoi@student.42seoul.kr> +#+ +:+ +#+ */ 7 /* +#+#+#+#+#+ +#+ */ 8 /* Created: 2023/05/24 21:28:18 by gychoi #+# #+# */ 9 /* Updated: 2023/05/25 20:32:04 by gychoi ### ########.fr */ 10 /* */ 11 /* ************************************************************************** */ 12 13 #include "camera.h" 14 15 t_camera camera(t_point3 origin) 16 { 17 t_camera cam; 18 double focal_len; 19 double viewport_height; 20 21 viewport_height = 2.0; 22 focal_len = 1.0; 23 cam.origin = origin; 24 cam.viewport_h = viewport_height; 25 cam.viewport_w = viewport_height * ASPECT_RATIO; 26 cam.focal_len = focal_len; 27 cam.horizontal = vec3(cam.viewport_w, 0, 0); 28 cam.vertical = vec3(0, cam.viewport_h, 0); 29 cam.left_bottom = vsub(vsub(vsub(cam.origin, vdivs(cam.horizontal, 2.0)),\ 30 vdivs(cam.vertical, 2.0)), vec3(0, 0, focal_len)); 31 return (cam); 32 }