Skip to content
This repository was archived by the owner on Jan 24, 2026. It is now read-only.

adrienfrsn/raytracer

Repository files navigation

Raytracer - Projet de Conception Orientée Objet (COO)

Un moteur de rendu par lancer de rayon (ray tracing) implémenté en Java, développé comme projet universitaire pour le cursus S5 à IMT.


🎯 Aperçu

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.


🚀 Installation

Prérequis

  • Java 21+ (configuré dans le pom.xml)
  • Maven (pour la compilation et l'exécution)

📖 Utilisation

Exécuter le raytracer

Utilisez le JAR compilé :

java -jar raytracer.jar <path_to_scene_file>

🧪 Tests

Le projet inclut une suite complète de tests unitaires avec JUnit 5 :

Exécuter tous les tests

mvn test

Résultats générés

Les images rendues sont sauvegardées en PNG et disponibles dans le répertoire racine :

  • rendered_output_final.png
  • rendered_output_final_with_bonus.png

🛠️ Dépendances

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>

👨‍💼 Informations du projet

  • 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

About

IMT Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages