Un moteur de rendu par lancer de rayon (ray tracing) implémenté en Java, développé comme projet universitaire pour le cursus S5 à IMT.
Ce projet implémente un moteur de ray tracing capable de :
- Charger des scènes définies dans des fichiers de configuration
- Tracer des rayons à travers une scène 3D
- Calculer les interactions lumineuses (reflet, ombres, etc.)
- Générer des images PNG haute qualité
Le projet est structuré de manière modulaire avec une séparation claire des responsabilités suivant les principes de la POO.
- Java 21+ (configuré dans le
pom.xml) - Maven (pour la compilation et l'exécution)
Utilisez le JAR compilé :
java -jar raytracer.jar <path_to_scene_file>Le projet inclut une suite complète de tests unitaires avec JUnit 5 :
mvn testLes images rendues sont sauvegardées en PNG et disponibles dans le répertoire racine :
rendered_output_final.pngrendered_output_final_with_bonus.png
Le projet n'a qu'une dépendance mineure :
- JUnit 5 (5.12.2) : Pour les tests unitaires
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.12.2</version>
<scope>test</scope>
</dependency>- Ecole : IMT (Institut Mines-Télécom)
- Cours : Conception Orientée Objet (COO)
- Semestre : S5
- Auteurs : FLEURY-CONTAUX Antoine et FRYSON Adrien
- Langage : Java 21
- Build Tool : Maven
- Type : Projet académique