Exemplo n.º 1
0
void	ft_init_disk2_3(t_dis **ldis)
{
	ft_init_vect(&ldis[5]->c, 0, -6.2, -2005);
	ldis[5]->r = 1;
	ft_init_vect(&ldis[5]->n, -1, 0, 0.4);
	ft_normalize_vect(&ldis[5]->n);
	ft_init_color(&ldis[5]->sf, 30, 30, 0);
	ft_init_vect(&ldis[6]->c, 8.5, -7, -1997);
	ldis[6]->r = 0.7;
	ft_init_vect(&ldis[6]->n, 1, 0, 0.3);
	ft_normalize_vect(&ldis[6]->n);
	ft_init_color(&ldis[6]->sf, 0, 50, 50);
	ft_init_vect(&ldis[7]->c, 6.6, -6.6, -1998.5);
	ldis[7]->r = 0.9;
	ft_init_vect(&ldis[7]->n, -0.1, 1, 0.5);
	ft_normalize_vect(&ldis[7]->n);
	ft_init_color(&ldis[7]->sf, 20, 10, 50);
	ft_init_vect(&ldis[8]->c, 0.4, -7.5, -2004.2);
	ldis[8]->r = 0.6;
	ft_init_vect(&ldis[8]->n, -0.2, 1, -0.5);
	ft_normalize_vect(&ldis[8]->n);
	ft_init_color(&ldis[8]->sf, 30, 30, 0);
	ft_init_vect(&ldis[9]->c, -3, 0, -600);
	ldis[9]->r = 3;
	ft_init_vect(&ldis[9]->n, 1, 0, 0.2);
	ft_normalize_vect(&ldis[9]->n);
	ft_init_color(&ldis[9]->sf, 0, 0, 0);
}
Exemplo n.º 2
0
void	ft_init_disk2_2(t_dis **ldis)
{
	ft_init_vect(&ldis[0]->c, 4, -1, -3990);
	ldis[0]->r = 7;
	ft_init_vect(&ldis[0]->n, 0, 0, -1);
	ft_normalize_vect(&ldis[0]->n);
	ft_init_color(&ldis[0]->sf, 10, 10, 10);
	ft_init_vect(&ldis[1]->c, -4.95, 0, -1000);
	ldis[1]->r = 3;
	ft_init_vect(&ldis[1]->n, 1, 0, 0);
	ft_normalize_vect(&ldis[1]->n);
	ft_init_color(&ldis[1]->sf, 0, 0, 0);
	ft_init_vect(&ldis[2]->c, 5, 2, -3980);
	ldis[2]->r = 1;
	ft_init_vect(&ldis[2]->n, 0.5, 1, 0.5);
	ft_normalize_vect(&ldis[2]->n);
	ft_init_color(&ldis[2]->sf, 80, 0, 0);
	ft_init_vect(&ldis[3]->c, 0, -2, -3980);
	ldis[3]->r = 1.4;
	ft_init_vect(&ldis[3]->n, -1, 0.3, 0.3);
	ft_normalize_vect(&ldis[3]->n);
	ft_init_color(&ldis[3]->sf, 10, 50, 0);
	ft_init_vect(&ldis[4]->c, 7, -5, -2000);
	ldis[4]->r = 2;
	ft_init_vect(&ldis[4]->n, 1, 0, 0.3);
	ft_normalize_vect(&ldis[4]->n);
	ft_init_color(&ldis[4]->sf, 20, 10, 50);
}
Exemplo n.º 3
0
int		ft_init_disk2(t_obj *obj)
{
	t_dis		**ldis;
	int			i;

	obj->nb[DIS] = 11;
	if (!(((t_dis ***)obj->type)[DIS] = (t_dis **)gmalloc(sizeof(t_dis *)
															* obj->nb[DIS])))
		return (-1);
	ldis = ((t_dis ***)obj->type)[DIS];
	i = -1;
	while (++i < obj->nb[DIS])
	{
		if (!(ldis[i] = (t_dis *)gmalloc(sizeof(t_dis))))
			return (-1);
	}
	ft_init_disk2_2(ldis);
	ft_init_disk2_3(ldis);
	ft_init_vect(&ldis[10]->c, -3, 0.5, -598);
	ldis[10]->r = 0.32;
	ft_init_vect(&ldis[10]->n, 0.2, 1, 0.3);
	ft_normalize_vect(&ldis[10]->n);
	ft_init_color(&ldis[10]->sf, 0, 20, 80);
	return (0);
}
Exemplo n.º 4
0
int			ft_treat_a_cone(void *data, t_c *color, t_obj *obj, t_r *r)
{
	t_con		*con;
	double		mult;

	con = (t_con *)data;
	ft_mult_vect_by_nb(&r->p_hit, r->d_w, r->tnear);
	ft_vect_sum(&r->p_hit, r->p_hit, r->o_w);
	ft_init_normal(&r->n_hit, r->p_hit, con);
	ft_normalize_vect(&r->n_hit);
	mult = ft_hit_light(r, obj);
	ft_init_color(color, con->sf.b * mult, con->sf.g * mult, con->sf.r * mult);
	return (0);
}
Exemplo n.º 5
0
void	ft_init_disk1_2(t_dis **ldis)
{
	ft_init_vect(&ldis[0]->c, -4, 2, -2000);
	ldis[0]->r = 1;
	ft_init_vect(&ldis[0]->n, 1, 1, 1);
	ft_normalize_vect(&ldis[0]->n);
	ft_init_color(&ldis[0]->sf, 80, 0, 80);
	ft_init_vect(&ldis[1]->c, -4, 2, -2000);
	ldis[1]->r = 1;
	ft_init_vect(&ldis[1]->n, 1, 0, 0.5);
	ft_normalize_vect(&ldis[1]->n);
	ft_init_color(&ldis[1]->sf, 20, 20, 80);
	ft_init_vect(&ldis[2]->c, -4, 2, -2000);
	ldis[2]->r = 1;
	ft_init_vect(&ldis[2]->n, 1, 0, 0.5);
	ft_normalize_vect(&ldis[2]->n);
	ft_init_color(&ldis[2]->sf, 20, 60, 80);
	ft_init_vect(&ldis[3]->c, -4, 2, -2000);
	ldis[3]->r = 1;
	ft_init_vect(&ldis[3]->n, 1, 0, 0.5);
	ft_normalize_vect(&ldis[3]->n);
	ft_init_color(&ldis[3]->sf, 20, 80, 80);
}
Exemplo n.º 6
0
int		ft_init_object_structure(t_obj *obj)
{
	int		i;

	if (!(obj->pixel = (t_c **)gmalloc(sizeof(t_c *) * HEIGHT))
		|| !(obj->type = (void ***)gmalloc(sizeof(void **) * NB_TYPE))
		|| !(obj->nb = (int *)gmalloc(sizeof(int) * NB_TYPE)))
		return (-1);
	i = -1;
	while (++i < HEIGHT)
	{
		if (!(obj->pixel[i] = (t_c *)gmalloc(sizeof(t_c) * WIDTH)))
			return (-1);
	}
	i = -1;
	while (++i < NB_TYPE)
		obj->nb[i] = 0;
	ft_init_ptr_fct_intersect(obj);
	ft_init_color(&(obj->bg_clr), 0, 0, 0);
	return (0);
}
Exemplo n.º 7
0
void    ft_init(t_env *e)
{
    e->mouse = malloc(sizeof(t_mand));    
    e->zone = ft_init_zone(e);
    e->idata = ft_get_img_data(e->img);
    if (e->fract_id == 1)
    {
        e->width = WIDTH / 2;
        e->height = HEIGHT / 2;
    }
    else
    {
        e->width = WIDTH;
        e->height = HEIGHT;
    }
    if (e->fract_id == 1)
        e->motion = 1;
    else
        e->motion = 0;
    e->show = 1;
    e->img_num = 0;
    ft_init_color(e);
}