Cub3D est une implémentation simplifiée d'un moteur de rendu 3D inspiré de Wolfenstein 3D. Ce projet utilise la minilibX pour le rendu graphique et propose une expérience de RayCasting avec un affichage en temps réel. L'objectif est de maîtriser les bases de la gestion des fenêtres, du rendu de textures et du mouvement en 3D.
- Fonctionnalités
- Dépendances
- Compilation et exécution
- Fichier
.cub
de description - Contrôles
- Gestion des erreurs
- Exemple
- Médias
- 📝 Lecture de fichiers
.cub
pour configurer la scène. - 🖼 Textures différentes pour chaque orientation (Nord, Sud, Est, Ouest).
- 🏞️ Couleurs personnalisables pour le sol et le plafond.
- 🟡️ Gestion complète de la fenêtre, incluant :
- Minimisation
- Fermeture propre en cas de clic sur la croix rouge (
X
)
- 🎮 Mouvement fluide de la caméra avec des contrôles intuitifs.
Pour compiler et exécuter Cub3D, vous avez besoin des éléments suivants :
- minilibX : disponible sur votre OS ou à compiler depuis ses sources.
- Make et GCC (ou un autre compilateur compatible avec
clang
).
Installation de la minilibX (si nécessaire) :
git clone https://github.com/42Paris/minilibx-linux.git
cd minilibx-linux
make
-
Cloner le projet :
git clone <url-du-repo> cd Cub3D
-
Compiler le programme :
make
-
Exécuter avec un fichier
.cub
:./cub3D path/to/map.cub
Le fichier .cub
doit contenir les informations suivantes :
-
Textures pour chaque direction :
NO ./path_to_the_north_texture SO ./path_to_the_south_texture WE ./path_to_the_west_texture EA ./path_to_the_east_texture
-
Couleurs pour le sol et le plafond :
F 220,100,0 # Sol C 225,30,0 # Plafond
-
Carte de la scène :
1
: Mur0
: Espace videN
,S
,E
,W
: Position de départ du joueur et son orientation.
Exemple de fichier
.cub
complet :NO ./textures/north_texture.xpm SO ./textures/south_texture.xpm WE ./textures/west_texture.xpm EA ./textures/east_texture.xpm F 220,100,0 C 225,30,0 111111 100101 101001 1100N1 111111
-
Rotation de la caméra :
- ➡️ Flèche droite : Regarder à droite
- ⬅️ Flèche gauche : Regarder à gauche
-
Déplacement :
- W : Avancer
- S : Reculer
- A : Aller à gauche
- D : Aller à droite
-
Quitter :
- ESC : Quitter proprement
- Cliquez sur la croix rouge (
X
) : Fermer la fenêtre
Le programme quitte avec un message d'erreur si :
- Le fichier
.cub
est mal formaté. - La carte n'est pas entourée de murs (
1
). - Une texture ou une couleur est manquante ou incorrecte.
Exemple d'erreur :
Error
Invalid map configuration
./cub3D maps/map.cub
Ce projet est sous licence MIT.