Project in pair with Waël Hazami.
*************************** ENGLISH ***************************
These images must represent a scene, seen from a defined angle and containing simple geometrical objects, each with objects, each with its own lighting system.
This project uses the MinilibX, the goal was to implement at least 3 simple geometric objects such as plane, sphere, Cylinder and to be able to apply transformations to objects, lights and camera: translation and rotation.
- A Unix-based operating system (Only MacOs)
- GCC compiler
- GNU Make
Clone the repository git clone git@github.com:olelong/42_miniRT.git
Enter in the repository cd 42_miniRT
or the name you gave when you cloned the repository
Launch the executable ./miniRT_mac
followed by a .rt file like maps/home.rt
Please note that the more complex the map is, the longer the loading time will be.
-> The .rt files are files that are used to configure scenes. There are some examples of configuration files .rt in the map folder but you can configure your own. (See how below)
Press the ESC key or click on the red cross in the window to close the window and exit the program program properly.
To create a config file, you need at least an ambient light A which contains information like its type A, its brightness [0.0,1.0] and its color [0,255]. Then you can add other elements, that is :
- As many objects as you want it to be :
Followed by its coordinates x,y,z, its orientation vector 3d [-1,1] for each axis x,y,z, its diameter,its height and its Color R,G,B [0,255].
Followed by its coordinates, diameter and color [0,255].
Followed by its coordinates, its 3d orientation vector and its color [0,255].
*************************** FRANCAIS ***************************
Ces images doivent représenter une scène, vue d'un angle défini et contenant de simples objets géométriques simples, chacun avec des objets et son propre système d'éclairage.
Ce projet utilise la MinilibX, le but étant d'implémenter au moins 3 objets géométriques simples objets tels que le plan, la sphère, le cylindre et d'être capable d'appliquer des transformations aux objets, aux lumières et à la caméra : translation et rotation.
- Un système d'exploitation basé sur Unix (seulement macOS)
- Un compilateur GCC
- Un GNU Make
Clonez le repository git clone git@github.com:olelong/42_miniRT.git
Entrez dans le dossier cd 42_miniRT
ou le nom que vous avez donné lorsque vous avez cloné le repo.
Lancer l'exécutable ./minirt_mac
suivi d'un fichier .rt comme maps/home.rt
.
Notez que plus la carte est complexe, plus le temps de chargement est long.
-> Les fichiers .rt sont des fichiers qui sont utilisés pour configurer les scènes. Il y a quelques exemples de fichiers de configuration .rt dans le dossier map mais vous pouvez configurer les vôtres. (Voir comment ci-dessous)
Appuyer sur la touche ESC ou cliquer sur la croix rouge dans la fenêtre pour fermer la fenêtre et quitter le programme correctement.
Pour créer un fichier de configuration, vous avez besoin au moins d'une lumière ambiante A qui contient des informations comme son type A, sa luminosité [0.0,1.0] et sa couleur [0,255]. Ensuite, vous pouvez ajouter d'autres éléments, à savoir :
- Une caméra C suivie de ses coordonnées, de son vecteur d'orientation 3D [-1,1] et de son champ de vision.
- Autant d'objets que vous le souhaitez :
Suivi de ses coordonnées x,y,z, de son vecteur d'orientation 3d [-1,1] pour chaque axe x,y,z, son diamètre, sa hauteur et sa couleur R,G,B [0,255].
Suivie de ses coordonnées, de son diamètre et de sa couleur [0,255].
Suivi de ses coordonnées, de son vecteur d'orientation 3d et de sa couleur [0,255].