From 9dcfce220af82ad10c192db3d2edfcd2f26268d9 Mon Sep 17 00:00:00 2001 From: hugogogo Date: Mon, 19 Jul 2021 11:36:34 +0200 Subject: [PATCH] couleurs marchent avec mise a l'echelle --- builds/fdf.o | Bin 138328 -> 138632 bytes fdf | Bin 122672 -> 175480 bytes includes/fdf.h | 1 + srcs/fdf.c | 13 ++++++++----- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/builds/fdf.o b/builds/fdf.o index 1d658dba2d467ce423e53df30f2e1b43eb7ea998..3a333a5d849b25ee267363cb1f49797941a2e3d8 100644 GIT binary patch delta 10917 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 bwy=`gUXZU+11I;$U##)%QoRgsu#o=(c?v}? delta 10397 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 diff --git a/fdf b/fdf index fcc8a96821996e971d371d9fc367d6aa99c793c5..fcf38b39b70a4358b6745ec398199640bedd09a1 100755 GIT binary patch delta 41679 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 delta 19035 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 NGesVb8F`L%{y*AEj8Omp diff --git a/includes/fdf.h b/includes/fdf.h index 9e26421..02abddd 100644 --- a/includes/fdf.h +++ b/includes/fdf.h @@ -47,6 +47,7 @@ typedef struct s_fdf int **map; int offset; int margin; + int altitude; int win_size_x; int win_size_y; int img_size_x; diff --git a/srcs/fdf.c b/srcs/fdf.c index ae2a574..78f1155 100644 --- a/srcs/fdf.c +++ b/srcs/fdf.c @@ -14,10 +14,12 @@ void color_altitude_pixel(t_fdf *fdf, int new_x, int new_y, int z) int color; color = 0xffffff; + z = z / fdf->altitude; if (z) { - color = color ^ (((0xff * z) / fdf->max_z) << 8 ); - color = color ^ ((0xff * z) / fdf->max_z); + color = color ^ (((0xff / fdf->max_z) * z) << 8 ); + color = color ^ ((0xff / fdf->max_z) * z); + ft_printf("0xff:%i z:%i (0xff / max_z):%i ((0xff / max_z) * z):%i\n", 0xff, z, (0xff / fdf->max_z), ((0xff / fdf->max_z) * z)); } draw_pixel(fdf, new_x, new_y, color); } @@ -46,7 +48,7 @@ void draw_image(t_fdf *fdf) x = i * fdf->offset - (fdf->map_size_x / 2); y = j * fdf->offset - (fdf->map_size_y / 2); - z = fdf->map[j][i]; + z = fdf->map[j][i] * fdf->altitude; new_x = x * cos(fdf->rad_x) + y * sin(fdf->rad_x); new_y = y * cos(fdf->rad_x) - x * sin(fdf->rad_x); new_y = new_y * cos(fdf->rad_y) - -z * sin(fdf->rad_y); @@ -148,9 +150,10 @@ t_fdf *init_fdf(void) t_fdf *fdf; fdf = malloc(sizeof(t_fdf)); - // map offset and margin - fdf->offset = 10; + // map offset, margin, and altitude factor + fdf->offset = 50; fdf->margin = 50; + fdf->altitude = 3; // parse map fdf->map = parse_map(fdf); // size window