Informatique graphique 3
KINIAAG1 - M2 IAFA - UPS
Loïc Barthe
David Vanderhaeghe
L'équation du rendu
\[\begin{aligned} L_i(p, \omega_i)& = L_o(vis(p, \omega_i), -\omega_i)\\ L_o(x, \omega_o) & = E(x, \omega_o) + \int_{\Omega} L_i(x, \omega_i) \rho(x, \omega_o, \omega_i) \overline\cos\theta_i\partial \omega_i \end{aligned} \] ou \[\overline\cos\theta = max(\cos\theta, 0) \] $\theta$ l'angle entre $\omega_i$ et $n$.
# Contenu du cours --- # Objectifs Comprendre et maîtriser les modèles et algorithmes en informatique graphique 3D. Savoir développer et mettre en œuvre l'ensemble des outils logiciels nécessaires au développement d'une application 3D interactive de haute qualité., --- # Connaissances - Algorithmique pour le rendu temps réel - Simulation du mouvement et méthodes d'intégration associées - Méthodes et algorithmes pour la déformation de maillages 3D --- # Compétences - Savoir architecturer une application et ses données pour l'informatique graphique temps réel - Savoir mettre en oeuvre des applications de rendu temps réel complexes - Savoir identifier la méthode d'animation adaptée à un problème - Savoir mettre en oeuvre des applications interactives d'animation 3D par ordinateur --- # Plan - Rendu - Optimisation du pipeline de rendu temps réel : Optimisation du rendu direct (Forward shading), Rendu différé, Rendu par regroupement - Ombrage avancé pour le rendu temps réel : Occultation ambiante, Volumes d'ombres - Vers l'éclairage global en rendu temps réel : Gestion de la transparence en rendu temps réel, Rendu à base d'images - Rendu expressif --- # Plan - Animation - Dynamique des particules : Approches Eulériennes, Approches Lagrangiennes - Point Based Dynamic --- # Projet Ajouter des fonctionnalités de rendu avancées et d'animation au résultat du projet de l'UE Informatique Graphique 1. TP pour la mise en place et l'encadrement de projet --- # Références - [Real Time Rendering](https://www.realtimerendering.com) by T. Akenine-Moller, E. Haines, N. Hoffman - [Computer Graphics: Principles and Practice](https://cgpp.net/about.xml) by J. F. Hughes, A. van Dam, M. McGuire, D. F. Sklar, J. D. Foley, S. K. Feiner, K. Akeley
Pipeline de rendu temps réel
Optimisation du pipeline de rendu temps réel
Représentation des données
Vertex
Position + ensemble de données
Descriptions des primitives (triangles)
Un cube, 6 faces, 12 triangles, 12 × 3 vertices ?
Forward shading
Faire une passe de z + ambient + normal
Une passe par lumière
Quid des objets transparents ?
Rendu différé
Rendre les données d'entrées de la fonction de shading
Limite du nombre de lumière
Plus il y a de lumière, plus ca prends du temps
Même si certains pixels ne sont éclairé que par un ou deux lumières
Idée : decouper l'image, et regarder quels sont les lumière qui ont effectivement un impact sur un groupe
Rendu par regroupement
Many lights
VPL
Imperfect shadow maps