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 de l'environnement - 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 - Individuel (20%)
Description : Devoir en deux parties. Première partie: Utilisation des méthodes d'échantillonnage par transformée inverse pour des matériaux simples dans le cadre du calcul de l'éclairage direct. Deuxième partie: Extension de l'échantillonnage aux surfaces et combinaison avec MIS dans un algorithme de tracé de chemin.
Sujets couverts : Radiométrie, Calcul de l'éclairage direct, Méthode numérique et échantillonnage, Calcul de l'éclairage indirect, Espace des chemins.
Compétition de rendu - En équipe (2% + 10% + 8% + 20%)
Description : Mise en place des textures et d'autres matériaux plus complexes. Utilisation de Blender pour faire une scène simple. Extension libre du moteur de rendu en vue d'atteindre une certaine image de rendu. Comprend une proposition de projet à rendre en même temps que le devoir 3, un rapport et une présentation.