rtv1/src/scene_params.c

60 lines
1.6 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* scene_params.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: gbrochar <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/02/13 16:40:53 by gbrochar #+# #+# */
/* Updated: 2019/02/22 16:53:36 by gbrochar ### ########.fr */
/* */
/* ************************************************************************** */
#include "rtv1.h"
int set_specular(char **data, t_env *e)
{
int i;
double tmp;
i = 0;
ft_putendl("Setting specular");
while (data[i] && i < 3)
i++;
if (i > 1)
{
tmp = ft_atof(data[1]);
if (tmp > 0 && tmp < M_PI / 2)
e->spec_radius = tmp;
else
return (FAILURE);
}
if (i > 2)
e->spec_ratio = ft_atof(data[2]);
if (e->spec_ratio < 0)
e->spec_ratio = 0;
return (SUCCESS);
}
int set_ambient(char **data, t_env *e)
{
int i;
double tmp;
i = 0;
ft_putendl("Setting ambient");
while (data[i] && i < 2)
i++;
if (i > 1)
{
tmp = ft_atof(data[1]);
if (tmp < 0)
tmp = 0;
if (tmp < 1)
e->ambient = tmp;
else
return (FAILURE);
}
return (SUCCESS);
}