clamp.c
1 /* ************************************************************************** */ 2 /* */ 3 /* ::: :::::::: */ 4 /* clamp.c :+: :+: :+: */ 5 /* +:+ +:+ +:+ */ 6 /* By: salee2 <salee2@student.42seoul.kr> +#+ +:+ +#+ */ 7 /* +#+#+#+#+#+ +#+ */ 8 /* Created: 2023/05/24 20:21:07 by salee2 #+# #+# */ 9 /* Updated: 2023/05/24 20:21:09 by salee2 ### ########.fr */ 10 /* */ 11 /* ************************************************************************** */ 12 13 #include "include/minirt.h" 14 15 double clamp(double value, double min, double max) 16 { 17 if (value < min) 18 return (min); 19 else if (value > max) 20 return (max); 21 return (value); 22 } 23 24 t_vec3 clamp_vec3(t_vec3 value, t_vec3 min, t_vec3 max) 25 { 26 int i; 27 const int size = 3; 28 t_vec3 clamped_vec3; 29 30 i = 0; 31 while (i < size) 32 { 33 clamped_vec3.arr[i] = clamp(value.arr[i], min.arr[i], max.arr[i]); 34 ++i; 35 } 36 return (clamped_vec3); 37 }