From 1ecd5c565804655383168d1ffed8026fe65c4b66 Mon Sep 17 00:00:00 2001 From: H3XploR Date: Tue, 18 Feb 2025 20:46:32 +0100 Subject: [PATCH] update norme --- config.c | 4 +--- miniRT | Bin 348608 -> 0 bytes miniRT.h | 19 ++++++++++++++----- parsing_cylinder_utils.c | 27 ++++++--------------------- parsing_cylinder_utils2.c | 28 ++++++++++++++++++++++++++++ parsing_plane.c | 4 ++-- parsing_sphere.c | 9 ++++++--- print.c | 5 +++-- print_next.c | 3 +-- shadows.c | 8 ++++---- tags | 23 ++++++++++------------- trace.c | 15 ++++++++------- 12 files changed, 83 insertions(+), 62 deletions(-) delete mode 100755 miniRT create mode 100644 parsing_cylinder_utils2.c diff --git a/config.c b/config.c index de02ecc..ff3132b 100644 --- a/config.c +++ b/config.c @@ -6,7 +6,7 @@ /* By: yantoine +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/14 01:41:17 by yantoine #+# #+# */ -/* Updated: 2025/02/17 23:28:25 by yantoine ### ########.fr */ +/* Updated: 2025/02/18 20:44:41 by yantoine ### ########.fr */ /* */ /* ************************************************************************** */ @@ -57,7 +57,5 @@ t_scene load_config(const char *filename) scene = parsing_line(line, scene); free(line); } - printf("AFFICHE CONFIG\n"); - print_scene(scene); return (scene); } diff --git a/miniRT b/miniRT deleted file mode 100755 index efc7ba5119b028e29d7d3934ac9ed0fade5d321e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348608 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

19hbNpBQM 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 +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/13 20:02:36 by yantoine #+# #+# */ -/* Updated: 2025/02/18 17:50:11 by yantoine ### ########.fr */ +/* Updated: 2025/02/18 20:43:16 by yantoine ### ########.fr */ /* */ /* ************************************************************************** */ @@ -109,6 +109,7 @@ typedef struct s_scene t_light lights[MAX_LIGHTS]; t_ambient ambient; t_camera camera; + t_ray ray; int numSpheres; int numPlanes; int numCylinders; @@ -217,16 +218,24 @@ int check_tokens(char **tokens, int expected); void check_if_max(t_scene scene, const int to_test, const int max); // Intersection -float intersectCylinder(t_ray ray, t_cylinder cy, t_vec3 *hitNormal); -float intersectPlane(t_ray ray, t_plane p, t_vec3 *hitNormal); -float intersectSphere(t_ray ray, t_sphere s, t_vec3 *hitNormal); +float intersect_cylinder(t_ray ray, t_cylinder cy, t_vec3 *hitNormal); +float intersect_plane(t_ray ray, t_plane p, t_vec3 *hitNormal); +float intersect_sphere(t_ray ray, t_sphere s, t_vec3 *hitNormal); bool is_in_shadow(t_vec3 hitPoint, t_vec3 lightPos, t_scene scene); -bool intersect_objects(t_ray ray, float *tMin, t_vec3 *hitNormal, +bool intersect_objects(float *tMin, t_vec3 *hitNormal, t_vec3 *objColor, t_scene scene); t_vec3 calcLighting(t_vec3 hitPoint, t_vec3 hitNormal, t_vec3 objColor, t_scene scene); t_vec3 trace(t_ray ray, t_scene scene); +// Interesction utils cylindre +int init_intersection(t_ray ray, t_cylinder cy, t_calc *calc); +void compute_side_intersection(t_cylinder cy, t_calc *calc); +void compute_cap_intersection(t_ray ray, t_cylinder cy, t_calc *calc); +float select_final_intersection(t_calc *calc); +void compute_hit_normal(t_ray ray, t_cylinder cy, t_calc *calc, + t_vec3 *hitNormal); + // Peripherique int key_press(int keycode, t_app *app); int key_release(int keycode, t_app *app); diff --git a/parsing_cylinder_utils.c b/parsing_cylinder_utils.c index a8f3a45..aec4311 100644 --- a/parsing_cylinder_utils.c +++ b/parsing_cylinder_utils.c @@ -6,7 +6,7 @@ /* By: yantoine +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/17 18:54:45 by yantoine #+# #+# */ -/* Updated: 2025/02/18 17:38:56 by yantoine ### ########.fr */ +/* Updated: 2025/02/18 20:43:49 by yantoine ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,7 +14,7 @@ // Initialise les variables de calcul et les // coefficients du polynôme d'intersection -static int init_intersection(t_ray ray, t_cylinder cy, t_calc *calc) +int init_intersection(t_ray ray, t_cylinder cy, t_calc *calc) { calc->d = ray.dir; calc->oc = vec3_sub(ray.origin, cy.center); @@ -37,7 +37,7 @@ static int init_intersection(t_ray ray, t_cylinder cy, t_calc *calc) // Calcule l'intersection sur la surface //latérale du cylindre -static void compute_side_intersection(t_cylinder cy, t_calc *calc) +void compute_side_intersection(t_cylinder cy, t_calc *calc) { calc->t_side = -1; if (calc->t0 > 1e-3f) @@ -56,7 +56,7 @@ static void compute_side_intersection(t_cylinder cy, t_calc *calc) // Calcule l'intersection sur les // capuchons supérieur et inférieur -static void compute_cap_intersection(t_ray ray, t_cylinder cy, t_calc *calc) +void compute_cap_intersection(t_ray ray, t_cylinder cy, t_calc *calc) { calc->t_cap = -1; if (fabs(calc->d_dot_v) > 1e-6f) @@ -87,7 +87,7 @@ static void compute_cap_intersection(t_ray ray, t_cylinder cy, t_calc *calc) // Sélectionne l'intersection la plus //proche entre la surface latérale et les capuchons -static float select_final_intersection(t_calc *calc) +float select_final_intersection(t_calc *calc) { if (calc->t_side > 1e-3f && calc->t_cap > 1e-3f) { @@ -106,7 +106,7 @@ static float select_final_intersection(t_calc *calc) } // Calcule la normale au point d'intersection -static void compute_hit_normal(t_ray ray, t_cylinder cy, t_calc *calc, +void compute_hit_normal(t_ray ray, t_cylinder cy, t_calc *calc, t_vec3 *hitNormal) { calc->hitPoint = vec3_add(ray.origin, vec3_scale(calc->d, calc->t_final)); @@ -125,18 +125,3 @@ static void compute_hit_normal(t_ray ray, t_cylinder cy, t_calc *calc, *hitNormal = vec3_scale(calc->v, -1); } } - -// Fonction principale d'intersection du cylindre -float intersectCylinder(t_ray ray, t_cylinder cy, t_vec3 *hitNormal) -{ - t_calc calc; - - if (init_intersection(ray, cy, &calc) < 0) - return (-1); - compute_side_intersection(cy, &calc); - compute_cap_intersection(ray, cy, &calc); - if (select_final_intersection(&calc) < 0) - return (-1); - compute_hit_normal(ray, cy, &calc, hitNormal); - return (calc.t_final); -} diff --git a/parsing_cylinder_utils2.c b/parsing_cylinder_utils2.c new file mode 100644 index 0000000..31935e9 --- /dev/null +++ b/parsing_cylinder_utils2.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* parsing_cylinder_utils2.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: yantoine +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/02/18 20:41:15 by yantoine #+# #+# */ +/* Updated: 2025/02/18 20:41:16 by yantoine ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "miniRT.h" + +// Fonction principale d'intersection du cylindre +float intersect_cylinder(t_ray ray, t_cylinder cy, t_vec3 *hitNormal) +{ + t_calc calc; + + if (init_intersection(ray, cy, &calc) < 0) + return (-1); + compute_side_intersection(cy, &calc); + compute_cap_intersection(ray, cy, &calc); + if (select_final_intersection(&calc) < 0) + return (-1); + compute_hit_normal(ray, cy, &calc, hitNormal); + return (calc.t_final); +} diff --git a/parsing_plane.c b/parsing_plane.c index 7ded4ef..9be62ad 100644 --- a/parsing_plane.c +++ b/parsing_plane.c @@ -6,7 +6,7 @@ /* By: yantoine +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/15 19:49:41 by yantoine #+# #+# */ -/* Updated: 2025/02/17 21:30:47 by yantoine ### ########.fr */ +/* Updated: 2025/02/18 20:34:02 by yantoine ### ########.fr */ /* */ /* ************************************************************************** */ @@ -27,7 +27,7 @@ t_scene parsing_plane(t_scene scene) return (scene); } -float intersectPlane(t_ray ray, t_plane p, t_vec3 *hitNormal) +float intersect_plane(t_ray ray, t_plane p, t_vec3 *hitNormal) { float denom; float t; diff --git a/parsing_sphere.c b/parsing_sphere.c index 393495f..19bacf0 100644 --- a/parsing_sphere.c +++ b/parsing_sphere.c @@ -6,7 +6,7 @@ /* By: yantoine +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/15 19:46:16 by yantoine #+# #+# */ -/* Updated: 2025/02/17 21:31:36 by yantoine ### ########.fr */ +/* Updated: 2025/02/18 20:39:35 by yantoine ### ########.fr */ /* */ /* ************************************************************************** */ @@ -26,7 +26,7 @@ t_scene parsing_sphere(t_scene scene) return (scene); } -float intersectSphere(t_ray ray, t_sphere s, t_vec3 *hitNormal) +float intersect_sphere(t_ray ray, t_sphere s, t_vec3 *hitNormal) { t_calc calc; @@ -40,7 +40,10 @@ float intersectSphere(t_ray ray, t_sphere s, t_vec3 *hitNormal) calc.sqrtDisc = sqrtf(calc.disc); calc.t0 = (-calc.b - calc.sqrtDisc) / (2 * calc.a); calc.t1 = (-calc.b + calc.sqrtDisc) / (2 * calc.a); - calc.t = (calc.t0 > 1e-3f) ? calc.t0 : calc.t1; + if (calc.t0 > 1e-3f) + calc.t = calc.t0; + else + calc.t = calc.t1; if (calc.t < 1e-3f) return (-1); calc.hitPoint = vec3_add(ray.origin, vec3_scale(ray.dir, calc.t)); diff --git a/print.c b/print.c index c92eedd..de4bd49 100644 --- a/print.c +++ b/print.c @@ -6,12 +6,12 @@ /* By: yantoine +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/17 23:16:21 by yantoine #+# #+# */ -/* Updated: 2025/02/18 17:03:05 by yantoine ### ########.fr */ +/* Updated: 2025/02/18 20:44:33 by yantoine ### ########.fr */ /* */ /* ************************************************************************** */ #include "miniRT.h" - +/* void print_light(t_light light) { printf("Position : "); @@ -92,3 +92,4 @@ void print_scene(t_scene scene) i++; } } +*/ diff --git a/print_next.c b/print_next.c index 60a5b33..b6d83b4 100644 --- a/print_next.c +++ b/print_next.c @@ -6,7 +6,7 @@ /* By: yantoine +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/18 17:02:32 by yantoine #+# #+# */ -/* Updated: 2025/02/18 17:02:42 by yantoine ### ########.fr */ +/* Updated: 2025/02/18 20:31:27 by yantoine ### ########.fr */ /* */ /* ************************************************************************** */ @@ -59,4 +59,3 @@ void print_cylinder(t_cylinder cyl) print_vec3(cyl.color); printf("\n"); } - diff --git a/shadows.c b/shadows.c index ee61115..86922d1 100644 --- a/shadows.c +++ b/shadows.c @@ -6,7 +6,7 @@ /* By: yantoine +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/17 18:58:42 by yantoine #+# #+# */ -/* Updated: 2025/02/18 17:48:22 by yantoine ### ########.fr */ +/* Updated: 2025/02/18 20:32:30 by yantoine ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,7 +24,7 @@ static bool check_shadow_sphere(const t_ray shadow_ray, float max_t, i = 0; while (i < scene.numSpheres) { - t = intersectSphere(shadow_ray, scene.spheres[i], &dummy); + t = intersect_sphere(shadow_ray, scene.spheres[i], &dummy); if (t > epsilon && t < max_t) return (true); i++; @@ -44,7 +44,7 @@ static bool check_shadow_plane(const t_ray shadow_ray, float max_t, i = 0; while (i < scene.numPlanes) { - t = intersectPlane(shadow_ray, scene.planes[i], &dummy); + t = intersect_plane(shadow_ray, scene.planes[i], &dummy); if (t > epsilon && t < max_t) return (true); i++; @@ -64,7 +64,7 @@ static bool check_shadow_cylinder(const t_ray shadow_ray, float max_t, i = 0; while (i < scene.numCylinders) { - t = intersectCylinder(shadow_ray, scene.cylinders[i], &dummy); + t = intersect_cylinder(shadow_ray, scene.cylinders[i], &dummy); if (t > epsilon && t < max_t) return (true); i++; diff --git a/tags b/tags index 99e747b..ae2698d 100644 --- a/tags +++ b/tags @@ -314,9 +314,9 @@ color miniRT.h /^ t_vec3 color;$/;" m struct:s_sphere typeref:typename:t_vec3 color minilibx-linux/mlx_int.h /^ int color;$/;" m struct:s_col_name typeref:typename:int color_map_1 minilibx-linux/test/main.c /^int color_map_1(void *win,int w,int h)$/;" f typeref:typename:int color_map_2 minilibx-linux/test/main.c /^int color_map_2(unsigned char *data,int bpp,int sl,int w,int h,int endian, int type)$/;" f typeref:typename:int -compute_cap_intersection parsing_cylinder_utils.c /^static void compute_cap_intersection(t_ray ray, t_cylinder cy, t_calc *calc)$/;" f typeref:typename:void file: -compute_hit_normal parsing_cylinder_utils.c /^static void compute_hit_normal(t_ray ray, t_cylinder cy, t_calc *calc,$/;" f typeref:typename:void file: -compute_side_intersection parsing_cylinder_utils.c /^static void compute_side_intersection(t_cylinder cy, t_calc *calc)$/;" f typeref:typename:void file: +compute_cap_intersection parsing_cylinder_utils.c /^void compute_cap_intersection(t_ray ray, t_cylinder cy, t_calc *calc)$/;" f typeref:typename:void +compute_hit_normal parsing_cylinder_utils.c /^void compute_hit_normal(t_ray ray, t_cylinder cy, t_calc *calc,$/;" f typeref:typename:void +compute_side_intersection parsing_cylinder_utils.c /^void compute_side_intersection(t_cylinder cy, t_calc *calc)$/;" f typeref:typename:void count_word libft/ft_split.c /^static size_t count_word(char *str, char c)$/;" f typeref:typename:size_t file: counter libft/libft.h /^ size_t counter;$/;" m struct:s_info typeref:typename:size_t cp miniRT.h /^ t_vec3 cp;$/;" m struct:s_calc typeref:typename:t_vec3 @@ -432,12 +432,12 @@ im4 minilibx-linux/test/main.c /^void *im4;$/;" v typeref:typename:void * image minilibx-linux/mlx_int.h /^ XImage *image;$/;" m struct:s_img typeref:typename:XImage * img miniRT.h /^ void *img;$/;" m struct:s_app typeref:typename:void * init_app_config main.c /^static int init_app_config(t_app *app, int argc, char **argv)$/;" f typeref:typename:int file: -init_intersection parsing_cylinder_utils.c /^static int init_intersection(t_ray ray, t_cylinder cy, t_calc *calc)$/;" f typeref:typename:int file: +init_intersection parsing_cylinder_utils.c /^int init_intersection(t_ray ray, t_cylinder cy, t_calc *calc)$/;" f typeref:typename:int init_mlx_and_image main.c /^static int init_mlx_and_image(t_app *app)$/;" f typeref:typename:int file: -interesct_objects trace.c /^bool interesct_objects(t_ray ray, float *tMin, t_vec3 *hitNormal,$/;" f typeref:typename:bool -intersectCylinder parsing_cylinder_utils.c /^float intersectCylinder(t_ray ray, t_cylinder cy, t_vec3 *hitNormal)$/;" f typeref:typename:float -intersectPlane parsing_plane.c /^float intersectPlane(t_ray ray, t_plane p, t_vec3 *hitNormal)$/;" f typeref:typename:float -intersectSphere parsing_sphere.c /^float intersectSphere(t_ray ray, t_sphere s, t_vec3 *hitNormal)$/;" f typeref:typename:float +interesct_objects trace.c /^bool interesct_objects(float *tMin, t_vec3 *hitNormal,$/;" f typeref:typename:bool +intersect_cylinder parsing_cylinder_utils2.c /^float intersect_cylinder(t_ray ray, t_cylinder cy, t_vec3 *hitNormal)$/;" f typeref:typename:float +intersect_plane parsing_plane.c /^float intersect_plane(t_ray ray, t_plane p, t_vec3 *hitNormal)$/;" f typeref:typename:float +intersect_sphere parsing_sphere.c /^float intersect_sphere(t_ray ray, t_sphere s, t_vec3 *hitNormal)$/;" f typeref:typename:float is_in_shadow shadows.c /^bool is_in_shadow(t_vec3 hitPoint, t_vec3 lightPos, t_scene scene)$/;" f typeref:typename:bool key_a miniRT.h /^ int key_a;$/;" m struct:s_app typeref:typename:int key_d miniRT.h /^ int key_d;$/;" m struct:s_app typeref:typename:int @@ -589,13 +589,9 @@ pixels miniRT.h /^ int *pixels;$/;" m struct:s_app typeref:typename:int * planes miniRT.h /^ t_plane planes[MAX_PLANES];$/;" m struct:s_scene typeref:typename:t_plane[] point miniRT.h /^ t_vec3 point;$/;" m struct:s_plane typeref:typename:t_vec3 pos miniRT.h /^ t_vec3 pos;$/;" m struct:s_light typeref:typename:t_vec3 -print_ambient print.c /^void print_ambient(t_ambient amb)$/;" f typeref:typename:void -print_camera print.c /^void print_camera(t_camera cam)$/;" f typeref:typename:void print_cylinder print_next.c /^void print_cylinder(t_cylinder cyl)$/;" f typeref:typename:void -print_light print.c /^void print_light(t_light light)$/;" f typeref:typename:void print_plane print_next.c /^void print_plane(t_plane plane)$/;" f typeref:typename:void print_ray print_next.c /^void print_ray(t_ray ray)$/;" f typeref:typename:void -print_scene print.c /^void print_scene(t_scene scene)$/;" f typeref:typename:void print_sphere print_next.c /^void print_sphere(t_sphere sphere)$/;" f typeref:typename:void print_vec3 print_next.c /^void print_vec3(t_vec3 vec)$/;" f typeref:typename:void printf_fd libft/printf_fd.c /^int printf_fd(int fd, const char *str, ...)$/;" f typeref:typename:int @@ -610,6 +606,7 @@ range_is_ok parsing_color.c /^static inline int range_is_ok(char **token_color)$ range_is_ok parsing_vector.c /^static inline int range_is_ok(char **token_vector)$/;" f typeref:typename:int file: ratio miniRT.h /^ float ratio;$/;" m struct:s_ambient typeref:typename:float ray miniRT.h /^ t_ray ray;$/;" m struct:s_calc typeref:typename:t_ray +ray miniRT.h /^ t_ray ray;$/;" m struct:s_scene typeref:typename:t_ray ray_dir miniRT.h /^ t_vec3 ray_dir;$/;" m struct:s_calc typeref:typename:t_vec3 re libft/Makefile /^re: fclean all$/;" t re makefile /^re: fclean all$/;" t @@ -644,7 +641,7 @@ scene miniRT.h /^ t_scene scene;$/;" m struct:s_app typeref:typename:t_scene screen minilibx-linux/mlx_int.h /^ int screen;$/;" m struct:s_xvar typeref:typename:int screen_x miniRT.h /^ float screen_x;$/;" m struct:s_calc typeref:typename:float screen_y miniRT.h /^ float screen_y;$/;" m struct:s_calc typeref:typename:float -select_final_intersection parsing_cylinder_utils.c /^static float select_final_intersection(t_calc *calc)$/;" f typeref:typename:float file: +select_final_intersection parsing_cylinder_utils.c /^float select_final_intersection(t_calc *calc)$/;" f typeref:typename:float setup_hooks main.c /^static void setup_hooks(t_app *app)$/;" f typeref:typename:void file: shm minilibx-linux/mlx_int.h /^ XShmSegmentInfo shm;$/;" m struct:s_img typeref:typename:XShmSegmentInfo shm_att_pb minilibx-linux/mlx_new_image.c /^int shm_att_pb(Display *d,XErrorEvent *ev)$/;" f typeref:typename:int diff --git a/trace.c b/trace.c index 8cea09c..bfbd2d9 100644 --- a/trace.c +++ b/trace.c @@ -6,7 +6,7 @@ /* By: yantoine +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/17 19:07:07 by yantoine #+# #+# */ -/* Updated: 2025/02/18 18:04:11 by yantoine ### ########.fr */ +/* Updated: 2025/02/18 20:34:28 by yantoine ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,7 +14,7 @@ // Renvoie true si le rayon intersecte un objet, et met à jour tMin, //hitNormal et objColor -bool interesct_objects(t_ray ray, float *tMin, t_vec3 *hitNormal, +bool interesct_objects(float *tMin, t_vec3 *hitNormal, t_vec3 *objColor, t_scene scene) { bool hit; @@ -26,7 +26,7 @@ bool interesct_objects(t_ray ray, float *tMin, t_vec3 *hitNormal, i = 0; while (i < scene.numSpheres) { - t = intersectSphere(ray, scene.spheres[i], &n); + t = intersect_sphere(scene.ray, scene.spheres[i], &n); if (t > 1e-3f && t < *tMin) { *tMin = t; @@ -39,7 +39,7 @@ bool interesct_objects(t_ray ray, float *tMin, t_vec3 *hitNormal, i = 0; while (i < scene.numPlanes) { - t = intersectPlane(ray, scene.planes[i], &n); + t = intersect_plane(scene.ray, scene.planes[i], &n); if (t > 1e-3f && t < *tMin) { *tMin = t; @@ -52,7 +52,7 @@ bool interesct_objects(t_ray ray, float *tMin, t_vec3 *hitNormal, i = 0; while (i < scene.numCylinders) { - t = intersectCylinder(ray, scene.cylinders[i], &n); + t = intersect_cylinder(scene.ray, scene.cylinders[i], &n); if (t > 1e-3f && t < *tMin) { *tMin = t; @@ -117,9 +117,10 @@ t_vec3 trace(t_ray ray, t_scene scene) tMin = 1e9; hitNormal = (t_vec3){0, 0, 0}; objColor = (t_vec3){0, 0, 0}; - if (interesct_objects(ray, &tMin, &hitNormal, &objColor, scene)) + scene.ray = ray; + if (interesct_objects(&tMin, &hitNormal, &objColor, scene)) { - hitPoint = vec3_add(ray.origin, vec3_scale(ray.dir, tMin)); + hitPoint = vec3_add(scene.ray.origin, vec3_scale(scene.ray.dir, tMin)); return (calcLighting(hitPoint, hitNormal, objColor, scene)); } return ((t_vec3){0.2f, 0.7f, 1.0f}); // Couleur de fond (ciel)