From 30a86a32e541bc4868dd18f2d021de1997fe2b6d Mon Sep 17 00:00:00 2001 From: hugogogo Date: Mon, 19 Jul 2021 10:58:09 +0200 Subject: [PATCH] color gradient fonctionne --- builds/fdf.o | Bin 137536 -> 138240 bytes fdf | Bin 122448 -> 122664 bytes includes/fdf.h | 1 + srcs/fdf.c | 33 ++++++++++++++++++++++++++++----- 4 files changed, 29 insertions(+), 5 deletions(-) diff --git a/builds/fdf.o b/builds/fdf.o index 69467168055b6443427a9d4e03746591c671e830..49a32eebcd183148ec2c21f8d43754e441472e87 100644 GIT binary patch delta 27501 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 Lo`lHHrt1FyB3>nG delta 26717 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 BdGP=M diff --git a/fdf b/fdf index 044b1de0559db3f9dd740d071a491538ff9fe2db..9b168f4e39f557be609680ebb2e1878cb2237ac7 100755 GIT binary patch delta 24240 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 y!j|pSi&HFNpR)))HOn&ebJoJvxLEEYf_udf= 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 Xb1}+v4n^zOFU`eP%=FP^R{ehgAnAkE diff --git a/includes/fdf.h b/includes/fdf.h index 8443a5c..9e26421 100644 --- a/includes/fdf.h +++ b/includes/fdf.h @@ -61,6 +61,7 @@ typedef struct s_fdf double rad_y; int mov_x; int mov_y; + int max_z; int img_bpp; int img_sizel; int img_endian; diff --git a/srcs/fdf.c b/srcs/fdf.c index d5d70be..360291c 100644 --- a/srcs/fdf.c +++ b/srcs/fdf.c @@ -9,6 +9,19 @@ int keypress(int keycode, t_fdf *fdf); void rotation_state(t_fdf *fdf); int **parse_map(t_fdf *fdf); +void color_altitude_pixel(t_fdf *fdf, int new_x, int new_y, int z) +{ + int color; + + color = 0xffffff; + if (z) + { + color = color ^ (((0xff * z) / fdf->max_z) << 8 ); + color = color ^ ((0xff * z) / fdf->max_z); + } + draw_pixel(fdf, new_x, new_y, color); +} + void draw_image(t_fdf *fdf) { int i; @@ -34,12 +47,12 @@ void draw_image(t_fdf *fdf) x = i * fdf->offset; y = j * fdf->offset; z = fdf->map[j][i]; - new_x = x * cos(fdf->rad_y) + y * sin(fdf->rad_y); - new_y = y * cos(fdf->rad_y) - x * sin(fdf->rad_y); - new_y = new_y * cos(fdf->rad_x) - z * sin(fdf->rad_x); + 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); new_x += fdf->margin + fdf->mov_x; new_y += fdf->margin + fdf->mov_y; - draw_pixel(fdf, new_x, new_y, 0xffffff); + color_altitude_pixel(fdf, new_x, new_y, z); } } // put image on screen @@ -179,7 +192,17 @@ int **parse_map(t_fdf *fdf) while(++j < 15) map[i][j] = 0; } - map[3][6] = 10; + map[0][0] = 1; + map[1][0] = 2; + map[2][0] = 3; + map[3][0] = 4; + map[4][0] = 5; + map[5][0] = 6; + map[6][0] = 7; + map[7][0] = 8; + map[8][0] = 9; + map[9][0] = 10; + fdf->max_z = 10; // size map fdf->map_width = j; fdf->map_height = i;