Informatique Graphique

Responsable(s) Mohsen ARDABILIAN
TD ⋅ 28 h

Objectifs de la formation

Ce cours présentera des notions d'informatique graphique, et principalement celles liées au rendu réaliste d'images 3D. Il introduit notamment des notions de raytracing/pathtracing et simulation de l'éclairage (équation du rendu), de textures et représentation des matériaux, de représentations de la géométrie 3D, de modèles de caméra, de simulation et intégration de Monte Carlo et échantillonnage par importance, de structures accélératrices, de paramétrisation de surface et de perception. Lors de ce cours, vous développerez entièrement en C++ un moteur de rendu d'images réaliste (noté) basé sur une simulation de Monte Carlo que vous améliorerez au fil des séances.

Mots-clés

Informatique graphique, rendu 3D, raytracing, intégration de Monte Carlo, simulation de l'éclairage

Programme

Vous débuterez le cours avec un code quasi vierge. Au fil des explications, vous ajouterez d'abord de quoi effectuer des rendus de simples sphères diffuses avec des lumières ponctuelles et de l'éclairage direct. Vous ajouterez de la correct gamma, de l'anti-aliasing, et la gestion de sphères réfléchissantes et transparentes. Viendra ensuite un cours sur la simulation de Monte Carlo et l'équation du rendu, qui vous permettra d'ajouter de l'éclairage indirect, des sources lumineuses étendues afin d'obtenir des ombres douces, ainsi que du flou de profondeur de champs. Vous ajouterez enfin la gestion de formes 3D plus complexes à travers les maillages texturés.

Compétences visées

  • Rendu 3d : A l'issue de ce cours, vous serez capable d'implémenter un moteur de rendu 3d simple mais réaliste, et aurez compris les notions s'y rattachant.
  • Intégration de Monte Carlo : A l'issue de ce cours, vous aurez compris comment intégrer stochastiquement une fonction, et connaitrez de techniques de réduction de variance.
  • Programmation : Ce cours renforcera votre maitrise de la programmation, à travers l'implémentation de structures de données non triviales (e.g., Bounding Volumes Hierarchies) et une application motivante pour y arriver.

Évaluation

Note = 33% savoir + 67% savoir-faire. Note de savoir = 100% examen terminal. Note de savoir-faire = 100% contrôle continu.