Files
RayTracer/parsing_camera.c
T
2025-02-15 20:02:43 +01:00

28 lines
1.4 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* parsing_camera.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: yantoine <yantoine@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/14 20:02:29 by yantoine #+# #+# */
/* Updated: 2025/02/15 19:43:52 by yantoine ### ########.fr */
/* */
/* ************************************************************************** */
#include "miniRT.h"
t_scene parsing_camera(const char *line, t_scene scene)
{
const char **tokens = get_tokens_secure(scene, scene.numCamera, MAX_CAMERA, 4);
scene.token_if_exit = tokens;
scene.camera.camPos = parse_vector(tokens[1], scene);
scene.camera.camDir = parse_vector_normalize(tokens[2], scene);
scene.camera.fov = ft_atof(tokens[3]);
scene.camera.yaw = atan2f(camDir.x, -camDir.z);
scene.camera.pitch = asinf(camDir.y);
ft_free_array(tokens);
scene.numCamera++;
return (scene);
}