Dans le cadre du cours, les étudiant(e)s réaliseront individuellement ou en équipe des devoirs qui consisteront à développer, de façon progressive, leur propre moteur de synthèse d’image en C++ ou Rust. Les étudiant(e)s utiliseront les techniques et concepts présentés dans les cours magistraux pour compléter ces devoirs. Un code de départ sera fourni.
À la fin du semestre, une compétition de rendu sera organisée par équipe de 2 étudiant(e)s. Le but de cette compétition est de produire une image suivant un thème préétabli. Cette compétition débutera par une proposition initiale listant les objectifs de mise en œuvre pour atteindre une image voulue. Au dernier cours, chaque équipe présentera son projet et les mises en œuvre nécessaires à la génération de l'image proposée dans le cadre du concours.
Devoir 0 (Optionnel) - Mise en place environment - Individuel (0%)
Description : Mise en place de l'environnement et utilisation de la librairie vectorielle.
Devoir 1 - Introduction de lancer de rayon - Individuel (10%)
Description : Mise en œuvre suivant "Ray tracing in one weekend".
Sujets couverts : Introduction à la synthèse d'image, Tracé de rayon (basique), Représentation géométrique
Devoir 2 - Monte Carlo & Éclairage direct - Individuel (10%)
Description : Utilisation des méthodes d'échantillonnage par transformée inverse pour des matériaux simples dans le cadre du calcul de l'éclairage direct.
Sujets couverts : Radiométrie, Calcul de l'éclairage direct, Méthode numérique et échantillonnage
Devoir 3 - Tracé de chemin & MIS - Individuel (10%)
Description : Extension de l'échantillonnage aux surfaces et combinaison avec MIS dans un algorithme de tracé de chemin.
Sujets couverts : Méthode numérique et échantillonnage, Calcul de l'éclairage indirect, Espace des chemins.
Devoir 4 - Textures et extension du moteur - En équipe (10%)
Description: Mise en place des textures et d'autres matériaux plus complexes. Utilisation de Blender pour faire une scène simple.
Sujets couverts : Textures et méthodes procédurales
Compétition de rendu - En équipe (2% + 18% + 10%)
Description : Extension libre du moteur de rendu en vue d'atteindre une certaine image de rendu. Comprends une proposition de projet à rendre en même temps que le devoir 4, un rapport et une présentation.