void all_effect(t_env *e) { give_effect(e); e->pixel_color = plus(&(e->pixel_color), &(e->effect.bri)); limit_for_vec(&(e->pixel_color), 0, 1); e->pixel_color = a_x_b(&(e->pixel_color), &(e->effect.light)); }
t_vec3d my_light(t_env *e) { t_obj *obj; t_vec3d light; t_vec3d my_light; obj = e->obj; light = (t_vec3d){0, 0, 0}; while (obj) { if (obj->type == 8) { my_light = lambert_alg(obj, e); light = plus(&light, &my_light); } obj = obj->next; } light = mult_value(&light, e->nl); limit_for_vec(&light, 0.0, 1.0); return (light); }
t_vec3d light_effect(t_env *e) { t_obj *obj; t_vec3d form; double val; obj = e->obj; form = (t_vec3d){0, 0, 0}; while (obj) { if (obj->type == 8) { val = phong_alg(obj, e); form.x = form.x + val; form.y = form.y + val; form.z = form.z + val; } obj = obj->next; } limit_for_vec(&form, 0, 1); return (form); }