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$.

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