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); }
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); }