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  }