From b0a0cfe7225fd43491dbd115d7ec09a8cbd53a9b Mon Sep 17 00:00:00 2001 From: Quinten Mennen Date: Tue, 6 May 2025 18:18:33 +0200 Subject: [PATCH] we got textures --- .vscode/settings.json | 3 ++- assets/bricks_cyan_x64.png | Bin 0 -> 18290 bytes assets/bricks_green_x64.png | Bin 0 -> 15109 bytes assets/bricks_orange_x64.png | Bin 0 -> 18206 bytes assets/bricksx64.png | Bin 0 -> 7691 bytes assets/bricksx64_east.png | Bin 0 -> 19186 bytes assets/bricksx64_north.png | Bin 0 -> 19922 bytes assets/bricksx64_south.png | Bin 0 -> 20904 bytes assets/bricksx64_west.png | Bin 0 -> 20325 bytes inc/cub3d.h | 15 ++++++------ inc/texture.h | 20 ++++++++++++++++ inc/types.h | 3 ++- src/map/map_create.c | 16 ++++++------- src/render/DDAscratch.c | 43 ++++++++++++++++++++++++++++------- src/texture/texutre_load.c | 41 +++++++++++++++++++++++++++++++++ src/util/initialize.c | 16 +++++++------ test.cub | 11 ++++----- 17 files changed, 130 insertions(+), 38 deletions(-) create mode 100644 assets/bricks_cyan_x64.png create mode 100644 assets/bricks_green_x64.png create mode 100644 assets/bricks_orange_x64.png create mode 100644 assets/bricksx64.png create mode 100644 assets/bricksx64_east.png create mode 100644 assets/bricksx64_north.png create mode 100644 assets/bricksx64_south.png create mode 100644 assets/bricksx64_west.png create mode 100644 inc/texture.h create mode 100644 src/texture/texutre_load.c diff --git a/.vscode/settings.json b/.vscode/settings.json index 81a0a9e..a7b0f2c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,7 +5,8 @@ "screen.h": "c", "mlx42.h": "c", "glfw3.h": "c", - "vec_math.h": "c" + "vec_math.h": "c", + "texture.h": "c" }, "cmake.ignoreCMakeListsMissing": true } \ No newline at end of file diff --git a/assets/bricks_cyan_x64.png b/assets/bricks_cyan_x64.png new file mode 100644 index 0000000000000000000000000000000000000000..b6526b1b77fe50d02f1cce174016569c3feeeaa5 GIT binary patch literal 18290 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 literal 0 HcmV?d00001 diff --git a/assets/bricks_green_x64.png b/assets/bricks_green_x64.png new file mode 100644 index 0000000000000000000000000000000000000000..1515c177fa8315dd4b3bb92b04694fed0a99758b GIT binary patch literal 15109 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 UZr6GJ{RJQ`t{_$+Vifd$0B8DmhyVZp literal 0 HcmV?d00001 diff --git a/assets/bricks_orange_x64.png b/assets/bricks_orange_x64.png new file mode 100644 index 0000000000000000000000000000000000000000..d808c524f58045a7262d1f0885b48398165eea00 GIT binary patch literal 18206 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 literal 0 HcmV?d00001 diff --git a/assets/bricksx64.png b/assets/bricksx64.png new file mode 100644 index 0000000000000000000000000000000000000000..71d18c92884f806b8a95885103cb7b37f350780f GIT binary patch literal 7691 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 FV1m_$&Mp7| literal 0 HcmV?d00001 diff --git a/assets/bricksx64_east.png b/assets/bricksx64_east.png new file mode 100644 index 0000000000000000000000000000000000000000..1b3ef0cc5da4a6b5c38b851aff14f6fb54a49a15 GIT binary patch literal 19186 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

    EwP6R<69E$SP}ah=I2LkqqCCQn^LO! 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 literal 0 HcmV?d00001 diff --git a/inc/cub3d.h b/inc/cub3d.h index 26aa2be..e5edc8c 100644 --- a/inc/cub3d.h +++ b/inc/cub3d.h @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* :::::::: */ -/* cub3d.h :+: :+: */ -/* +:+ */ -/* By: whaffman +#+ */ -/* +#+ */ -/* Created: 2025/04/15 12:22:29 by qmennen #+# #+# */ -/* Updated: 2025/05/04 16:46:00 by whaffman ######## odam.nl */ +/* ::: :::::::: */ +/* cub3d.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/04/15 12:22:29 by qmennen #+# #+# */ +/* Updated: 2025/05/06 15:56:57 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -48,6 +48,7 @@ # include "player.h" # include "collision.h" # include "parser.h" +# include "texture.h" int initialize_cub3d(t_game **game, const char *mapfile); diff --git a/inc/texture.h b/inc/texture.h new file mode 100644 index 0000000..b30eb6a --- /dev/null +++ b/inc/texture.h @@ -0,0 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* texture.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/05/06 15:46:20 by qmennen #+# #+# */ +/* Updated: 2025/05/06 15:59:52 by qmennen ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef TEXTURE_H +# define TEXTURE_H + +# include "cub3d.h" + +int texture_load(t_game *game); + +#endif \ No newline at end of file diff --git a/inc/types.h b/inc/types.h index 44ef1c9..cfa3129 100644 --- a/inc/types.h +++ b/inc/types.h @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/15 15:52:44 by qmennen #+# #+# */ -/* Updated: 2025/05/06 15:20:37 by qmennen ### ########.fr */ +/* Updated: 2025/05/06 18:04:13 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -60,6 +60,7 @@ typedef struct s_map char *SO_texture; char *WE_texture; char *EA_texture; + mlx_texture_t *textures[4]; unsigned int floor_color; unsigned int ceiling_color; } t_map; diff --git a/src/map/map_create.c b/src/map/map_create.c index 1c970c3..581d604 100644 --- a/src/map/map_create.c +++ b/src/map/map_create.c @@ -1,16 +1,15 @@ /* ************************************************************************** */ /* */ -/* :::::::: */ -/* map_create.c :+: :+: */ -/* +:+ */ -/* By: whaffman +#+ */ -/* +#+ */ -/* Created: 2025/04/23 12:21:13 by whaffman #+# #+# */ -/* Updated: 2025/04/25 11:36:18 by whaffman ######## odam.nl */ +/* ::: :::::::: */ +/* map_create.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/04/23 12:21:13 by whaffman #+# #+# */ +/* Updated: 2025/05/06 16:00:10 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ -#include #include "cub3d.h" @@ -26,6 +25,7 @@ int map_create(t_game **game, const char *mapfile) perror("Error allocating memory for (*game)->map"); return (FAILURE); } + ft_memset((*game)->map->textures, 0, sizeof((*game)->map->textures)); parse_args(mapfile, (*game)); grid = copy_map((*game)->map->grid, (*game)->map->width, (*game)->map->height); if (!grid) diff --git a/src/render/DDAscratch.c b/src/render/DDAscratch.c index 9828ef1..0a9709d 100644 --- a/src/render/DDAscratch.c +++ b/src/render/DDAscratch.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/05/02 11:58:09 by whaffman #+# #+# */ -/* Updated: 2025/05/06 15:21:22 by qmennen ### ########.fr */ +/* Updated: 2025/05/06 18:17:55 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -95,16 +95,16 @@ t_side get_side(t_vec2 ray_dir, double perp_dist) if (perp_dist > 0) { if (ray_dir.x > 0) - return (SIDE_EAST); - else return (SIDE_WEST); + else + return (SIDE_EAST); } else { if (ray_dir.y > 0) - return (SIDE_SOUTH); - else return (SIDE_NORTH); + else + return (SIDE_SOUTH); } } @@ -122,7 +122,10 @@ t_render cast_ray(t_game *game, int x) perp_dist = dda(ray_dir, pos, game->map); render.perp_dist = fabs(perp_dist); render.side = get_side(ray_dir, perp_dist); - render.wall_x = (perp_dist > 0) * (pos.x + ray_dir.x * perp_dist) + (perp_dist <= 0) * (pos.y + ray_dir.y * perp_dist); + if (perp_dist < 0) + render.wall_x = pos.x + ray_dir.x * render.perp_dist; + else + render.wall_x = pos.y + ray_dir.y * render.perp_dist; render.wall_x -= floor(render.wall_x); return (render); } @@ -140,22 +143,39 @@ unsigned int get_color(t_render render) return (color[render.side] << 8 | (int)(1.0 / dist * 255)); } +unsigned int get_texture_color(mlx_texture_t *texture, t_render render, int tex_x, int tex_y) +{ + int index; + double dist; + + if (render.side == SIDE_NORTH || render.side == SIDE_EAST) + tex_x = texture->width - tex_x - 1; + index = (tex_x + tex_y * texture->height) * texture->bytes_per_pixel; + dist = (render.perp_dist == 0) * 1e30 + (render.perp_dist > 1) * render.perp_dist + (render.perp_dist <= 1) * 1; + return texture->pixels[index] << 24 | texture->pixels[index + 1] << 16 | texture->pixels[index + 2] << 8 | (int)(1.0 / dist * 255); +} + void draw_line(t_game *game, t_render render, int x) { int y; int color; int lineHeight; int drawStart; + int texDrawStart; int drawEnd; + int tex_x; + int tex_y; y = 0; lineHeight = (int)(game->screen->height / render.perp_dist); drawStart = -lineHeight / 2 + game->screen->height / 2; + texDrawStart = drawStart; if (drawStart < 0) drawStart = 0; - drawEnd = lineHeight / 2 + game->screen->height / 2; + drawEnd = lineHeight / 2 + game->screen->height / 2; if (drawEnd >= game->screen->height) drawEnd = game->screen->height - 1; + tex_x = (int)(render.wall_x * (double)game->map->textures[render.side]->width); while (y < game->screen->height) { if (y < drawStart) @@ -163,9 +183,16 @@ void draw_line(t_game *game, t_render render, int x) else if (y > drawEnd) color = game->map->floor_color << 8 | (int)fabs(2 * y * 0xFF / (double)game->screen->height - 0xFF); else - color = get_color(render); + { + + tex_y = (int)(((double) game->map->textures[render.side]->height / (double) lineHeight) * (y - texDrawStart)); + color = get_texture_color(game->map->textures[render.side], render, tex_x, tex_y); + } + if (x < 0 || x >= game->screen->width || y < 0 || y >= game->screen->height) + break; mlx_put_pixel(game->screen->img, x, y, color); y++; + } } diff --git a/src/texture/texutre_load.c b/src/texture/texutre_load.c new file mode 100644 index 0000000..2f8dadd --- /dev/null +++ b/src/texture/texutre_load.c @@ -0,0 +1,41 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* texutre_load.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/05/06 15:45:58 by qmennen #+# #+# */ +/* Updated: 2025/05/06 15:55:30 by qmennen ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "texture.h" + +void texture_delete(t_game *game) +{ + int i; + + i = 0; + while (i < 4) + { + if (game->map->textures[i]) + mlx_delete_texture(game->map->textures[i]); + i++; + } +} + +int texture_load(t_game *game) +{ + game->map->textures[SIDE_NORTH] = mlx_load_png(game->map->NO_texture); + game->map->textures[SIDE_EAST] = mlx_load_png(game->map->EA_texture); + game->map->textures[SIDE_SOUTH] = mlx_load_png(game->map->SO_texture); + game->map->textures[SIDE_WEST] = mlx_load_png(game->map->WE_texture); + if (!game->map->textures[SIDE_NORTH] || !game->map->textures[SIDE_EAST] + || !game->map->textures[SIDE_SOUTH] || !game->map->textures[SIDE_WEST]) + { + texture_delete(game); + return (FAILURE); + } + return (SUCCESS); +} diff --git a/src/util/initialize.c b/src/util/initialize.c index 0793566..fd5eff4 100644 --- a/src/util/initialize.c +++ b/src/util/initialize.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* :::::::: */ -/* initialize.c :+: :+: */ -/* +:+ */ -/* By: qmennen +#+ */ -/* +#+ */ -/* Created: 2025/04/22 17:08:26 by qmennen #+# #+# */ -/* Updated: 2025/04/25 11:20:49 by whaffman ######## odam.nl */ +/* ::: :::::::: */ +/* initialize.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/04/22 17:08:26 by qmennen #+# #+# */ +/* Updated: 2025/05/06 16:18:44 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,6 +20,8 @@ int initialize_cub3d(t_game **game, const char *mapfile) return (FAILURE); if (!map_create(game, mapfile)) return (FAILURE); + if (!texture_load(*game)) + return (FAILURE); if (!screen_create(game)) return (FAILURE); if (!keyboard_create(game)) diff --git a/test.cub b/test.cub index bbd05dd..e0de358 100644 --- a/test.cub +++ b/test.cub @@ -1,12 +1,11 @@ -NO ./path/file.png +NO ./assets/bricksx64_north.png -WE ./path/file.png +WE ./assets/bricksx64_west.png -SO ./path/file.png - -EA ./path/file.png +SO ./assets/bricksx64_south.png +EA ./assets/bricksx64_east.png F 90,30,30 @@ -16,7 +15,7 @@ C 100,100,200 1111111 111 1111 111111 1111111111 111111 1000001110111001 100001 1000001001 10001 -1000000000000001 100001 100000110111100011 +1001000000000001 100001 100000110111100011 1000001110000001110011111111 110000001000000001 1000001 10001000000010000001 100000001000000001 1000001110001000000000000001111100000001000000001