Ejemplo n.º 1
0
t_k	*luminosite(t_spot *spot, t_k *k, t_objet *obj, t_utils *utils)
{
  t_utils	L;
  t_objet	obj3;
  double	tmp;
  double	a;

  a = 0.0;
  init_new_color(k);
  trans_inv(utils, obj, 0);
  obj_rot(utils, obj, -1, 1);
  calc_coord(k, &obj3, utils);
  utils = my_init_norm(obj, obj3, utils);
  while (spot != NULL)
    {
      init_distance(spot, &L, obj3);
      tmp = calc_cos(utils, L);
      if (obj->texture == 1 || obj->texture == 2)
	k = texture(obj3, k, obj->texture);
      get_new_color(k, (tmp < 0.0 ? tmp = 0.0 : tmp), obj, spot);
      spot = spot->next;
      a++;
    }
  obj_rot(utils, obj, 1, 1);
  trans_nor(utils, obj, 0);
  check_color(k, a, utils);
  return (k);
}
Ejemplo n.º 2
0
t_k		*luminosite(t_spot *spot, t_k *k, t_objet *obj, t_utils *utils)
{
	double	a;
	double	tmp;
	t_utils	l;
	t_objet	obj3;

	a = 0.0;
	init_new_color(k);
	trans_inv(utils, obj, 0);
	obj_rot(utils, obj, -1, 1);
	calc_coord(k, &obj3, utils);
	utils = init_norm(obj, obj3, utils);
	while (spot != NULL)
	{
		init_distance(spot, &l, obj3);
		tmp = calc_cos(utils, l);
		get_new_color(k, (tmp < 0.0 ? tmp = 0.0 : tmp), obj, spot);
		spot = spot->next;
		a++;
	}
	obj_rot(utils, obj, 1, 1);
	trans_nor(utils, obj, 0);
	check_color(k, a, utils);
	return (k);
}