Projets

Path tracer

Un moteur de rendu physique en C++17, avec deux intégrateurs, une BVH et des plugins chargés à l'exécution.

Année
2026
Cadre
École
Équipe
Équipe Epitech
Statut
Terminé
Technologies
C++17, CMake, SFML, ImGui, Open Image Denoise

Projet de programmation orientée objet de deuxième année. Le moteur contient deux intégrateurs : un raytracer de Whitted, rapide et déterministe, et un path tracer Monte Carlo pour l’éclairage global (ombres douces, inter-réflexions, next event estimation, roulette russe).

Architecture

  • Une BVH construite avec l’heuristique de surface fait passer le coût d’intersection de linéaire à logarithmique.
  • Le rendu est découpé en tuiles réparties sur tous les cœurs, avec un affichage progressif dans une fenêtre SFML.
  • Chaque primitive, matériau, texture, chargeur de maillage (OBJ, STL) et débruiteur est un plugin chargé à l’exécution. Le cœur ne connaît que des interfaces virtuelles pures.
  • Un éditeur de scène ImGui permet de modifier la scène en direct, et le fichier de scène est rechargé à chaud.

Matériaux

Lambert, métal, verre (avec préréglages d’indice de réfraction), lumières émissives, et un matériau physique Cook-Torrance avec plus de vingt préréglages (or, chrome, jade, marbre…).