L'illumination globale:
la radiosité

PRINCIPE

ALGORITHME

FACTEUR
DE FORME

Hémisphère
Hémicube

SYSTÈME
D'ÉQUATIONS

RÉSOLUTION

EXEMPLES

AVANTAGES

INCONVÉNIENTS

RADIOSITÉ
PROGRESSIVE

DISCRÉTISATION

EXEMPLES

CONCLUSION

 

RETOUR

Principe

Tous les objets d’une scène émettent de l'énergie sous la forme de radiations électromagnétiques. Ce phénomène les rend lumineux et colorés et donc visibles.

Ce spectre d'émission (la radiosité) est la somme de deux composantes:

  • une énergie émise intrinsèquement,
  • une énergie émise par réémission d'une partie des radiations reçues en provenance des autres objets présents dans la scène.

Ainsi, après une infinité de réémissions successives des objets les uns sur les autres, un équilibre énergétique s’établit à l’intérieur de la scène.

Chaque objet de la scène est alors affecté d’une composante lumineuse colorée. C'est cette couleur que nous voyons.

Algorithme

  • Discrétisation de la scène en un ensemble de n surfaces.

  • Calcul, pour chaque couple de surfaces à l’intérieur de la scène, de la fraction d’énergie qui, émise par la première, sera réceptionnée par la seconde (facteur de forme).

  • Constitution d’un système de n équations linéaires à n inconnues où les n inconnues sont les quantités d’énergie émises par chaque facette.

  • Résolution de ce système d’équations linéaires.

  • Affichage final par un algorithme classique d’élimination des parties cachées (Z-Buffer ou lancer de rayons).

Calcul du facteur de forme entre deux surfaces

Le facteur de forme Fij est la fraction d’énergie qui quittant la facette i est reçue par la facette j.

Pour le calcul de Fij, on tient compte des forme et orientation respectives des deux facettes ainsi que de la présence éventuelle d’obstacles entre les deux.

Programme GLUt

Exécutable GLUt

Le facteur de forme dFdidj d’une surface différentielle dAi vers une surface différentielle dAj est:

qi est l’angle entre la normale à la surface Ai au point considéré et l’axe dAidAj, r est la longueur de cet axe et H est la valeur de la visibilité (0 ou 1) de dAj depuis dAi.

Cette définition différentielle doit être intégrée sur les deux surfaces Ai et Aj pour trouver la valeur recherchée.

C’est à dire:

Problème: Réaliser cette intégration qui est en fait une intégrale quadruple (surface-surface).

Comme il n'existe pas de méthode analytique pour cette intégration (même dans les cas les plus simples), on emploie des solutions approximées.

Première approximation

On considère que Fij = Fdi j.

Calcul de Fdi j par projection sur l’hémisphère

Une estimation de Fdi j est effectuée en projetant toutes les portions de Aj visibles depuis dAi sur l'hémisphère de rayon unitaire centrée sur dAi et dont la base est parallèle à dAi.

On projette la portion de l'hémisphère ainsi définie sur le cercle base de l’hémisphère selon l’axe donné par la normale à Ai.

On divise l’aire de la surface obtenue par l’aire du cercle base.

Programme GLUt

Exécutable GLUt

Cette méthode a pour inconvénient de requérir l’emploi d'un opérateur de projection sur une sphère. Cette opération est complexe et couteuse en temps. De plus, elle ne résoud pas le problème de la détermination des portions visibles.

Calcul de Fdi j par projection sur l’hémicube

Principe: Projeter sur l’hémicube supérieur de centre dAi.

Chacune des cinq faces de l'hémicube est discrétisée en un certain nombre de cellules carrées identiques. On calcule quelles sont les cellules qui font partie de la surface projetée.

Programme GLUt

Exécutable GLUt

A chacune de ces cellules est associé un facteur de forme approximé
qp est l’angle entre la normale à la cellule p et le vecteur entre dAi et p, r est la distance entre dAi et p, et DA est la surface d’une cellule.

La somme des facteurs de forme élémentaires donne le facteur de forme total de la surface de départ.

On établit assez facilement que pour une cellule p de coordonnées (xp,yp,zp) située sur l’hémicube:

  • si p est du dessus de l’hémicube.

  • si p est une cellule située sur l’une des faces perpendiculaires à l’axe x.

  • si p est une cellule située sur l’une des faces perpendiculaires à l’axe y.

Programme GLUt

Exécutable GLUt

Plus la discrétisation de l’hémicube est poussée, meilleure est l’estimation du facteur de forme, mais plus long est le calcul.

La technique précédente permet de calculer une approximation du facteur de forme d'une facette vis à vis d'une autre facette.

Problème: Elle ne permet pas de tenir compte des occultations éventuelles entre les facettes.

Programme GLUt

Exécutable GLUt

Pour résoudre ce problème, on réalise un Z-Buffer de la scène sur chacun des cinq plans de projection.

Cette technique réalise l'élimination des parties cachées depuis dAi. pour l'ensemble des surfaces de la scène en projection sur chacune des cinq faces de l'hémicube.

Programme GLUt

Exécutable GLUt

En fait, on calcule en une fois une ligne de la matrice de facteurs de forme.

Constitution du système d’équations linéaires

Soit une surface i.

On établit

où Bi et Bj sont les radiosités des surfaces i et j (mesurées en énergie/unité de temps/unité de surface), Ei est l’énergie intrinsèque émise par la surface i, ri est la réflectivité de la surface i, Fji est le facteur de forme de la surface j vers la surface i et Ai et Aj sont les aires des surfaces i et j.

On établit aussi que Ai Fij = Aj Fji

->

On obtient le système d’équations linéaires:

Remarque: La diagonale n’est pas forcément égale à 1 (le facteur de forme d'une surface vis à vis d'elle-même peut être différent de 0) car une surface s non plane peut s’éclairer elle-même.

Résolution du système d’équations linéaires

On résout généralement le système d'équations par une méthode itérative: Gauss-Siedel par exemple.

-> on arrête la résolution du système à l'itération permettant d'atteindre le niveau de précision désiré (test sur les radiosités ou les images affichées avec ces radiosités).

Ce système d’équations peut être résolu pour différentes longueurs d’onde (composantes rouge, verte et bleue en réflectivité et émission intrinséque différentes dans le système d'équations linéaires) permettant ainsi d’obtenir des images colorées.

Exemples

Radiosité avec affichage par Z-Buffer
et ombrage plat

Radiosité avec affichage par Z-Buffer
et ombrage de Gouraud

Mise en évidence de réflexions colorées

Mise en évidence de réflexions colorées

Avantages

  • Au niveau de la qualité de l’affichage

On obtient une très bonne estimation des flux d'énergie à l'intérieur de la scène -> des images très réalistes du point de vue des éclairages.

Le calcul de l’équilibre énergétique intègre de manière très précise le calcul de la composante de lumière ambiante de chaque surface, ce qui conduit généralement à des lumières douces qui semblent tamisées (résolution des problèmes d'illumination locale inhérent aux autres algorithmes de rendu).

La réalisation de l'algorithme d'affichage (par exemple un Z-Buffer associé à un lissage de Gouraud) renforce encore ce phénomène.

On modélise les ombres portées car on gère les occultations entre objets.

  • Au niveau de la rapidité de calcul

Une fois l’équilibre énergétique calculé, l’affichage d’une scène est très rapide (rapidité du Z-Buffer ou du lancer de rayons).

Contrairement au lancer de rayons, on n’a pas à recalculer l’équilibre si on effectue un déplacement de l'observateur à l’intérieur de la scène. Tant que la scène n’est pas modifiée, les calculs d’animation sont extrêmement rapides.

Inconvénients

  • Au niveau de la qualité de l’affichage

Cet algorithme ne tient compte que de la lumière "diffusée". Il ne peut pas rendre compte des transmissions et des réflexions spéculaires.

La discrétisation de la scène et des calculs de facteurs de forme par méthode de l'hémisphère ou l'hémicube fait que certains problèmes d'aliasage peuvent apparaître entraînant fréquemment des problèmes comme par exemple sur les ombres:

  • bords trop flous et/ou crénelés,
  • ombres portées absentes pour les objets trop minces,

ou sur les éclairages:

  • mauvais éclairage de certaines zones,
  • manque de précision sur l'éclairage des objets placés près de l'observateur et donc apparaissant gros à l'écran.
  • Au niveau de la rapidité de calcul

Les deux phases (a) de calcul des facteurs de forme et (b) de résolution du système d’équations linéaires demandent des quantités de calcul importantes. La phase de calcul des facteurs de forme est la plus longue.

Plus on veut un résultat proche de la réalité, plus la discrétisation de la scène doit être poussée et donc plus le temps de calcul est important. De plus, on est confronté à la résolution successive de deux problèmes en n2 du nombre de facettes (potentiellement très grand):

  • le calcul et le stockage des facteurs de forme,
  • la résolution du système.

Radiosité progressive

Le problème de la structure de données en n2 trouve sa solution avec la technique de radiosité progressive.

Cette technique a pour but de résoudre progressivement le système d'équations linéaires sans stockage de l'ensemble de la matrice des facteurs de forme. On ne la calcule que ligne par ligne au moment où chaque ligne est utilisée lors de la résolution du système d'équations linéaires.

L'algorithme est itératif, basé sur une boucle infinie. Il traite les surfaces de la scène les unes après les autres pour évaluer et affecter l'énergie qu'elles émettent vers les autres surfaces.
Une énergie déjà émise n'a plus à être émise.
-> On utilise deux tableaux pour stocker les radiosités déjà calculées, mais aussi les portions de ces radiosités qui n'ont pas encore été émises (créées, depuis la dernière émission, par réception depuis les autres facettes puis réémission).

Algorithme

Réserver 2 tableaux B et DB de taille n
Initialiser B et DB avec les valeurs
        d'énergie émise intrinsèquement
        par chaque facette
Tant que l'image n'est pas satisfaisante
  Choisir une facette F
// On connaît sa radiosité
  Calculer le vecteur de facteurs
        de forme FF associé à F
// Allouer la fraction d'énergie
// émise par F à chaque facette
  pour chaque facette FA
    DR = rFA * DB[F] * FF[FA] * AF / AFA
    DB[FA] += DR
    B[FA] += DR
  fin pour
  DB[F] = 0
Fin tantque

On sait que cette technique de résolution permet la convergence vers la bonne solution. Un problème est que le temps de convergence ne peut pas être contrôlé.

Le seul contrôle offert par cet algorithme concerne le choix de la facette F considérée à chaque itération. On accélère la convergence en choisissant la facette possédant la radiosité maximale restant à émettre.

L'inconvénient principal est que l'on peut être appelé à calculer plusieurs fois, au cours de l'exécution, la ligne de facteurs de forme concernant une facette.

Discrétisation

On limite les problèmes d'aliasage en utilisant une technique de discrétisation de la scène permettant d'augmenter la précision (augmenter le nombre de facettes) dans les zones critiques.

La technique généralement employée consiste à subdiviser récursivement les patchs.

On pourra détecter ces zones critiques par le fait que deux patchs voisins situés à leurs limites présentent des valeurs Fdi-j différant d'une valeur supérieure à une limite prédéfinie.

Exemples

Une cathédrale

Une usine

Conclusion

La technique de calcul de l'illumination globale permet de calculer au mieux la composante de lumière ambiante due aux réflexions diffuses multiples (infinies) générées sur chaque surface diffusante d'une scène. Elle permet l'obtention d'images de très bonne qualité aux lumières douces telles qu'elles apparaissent très souvent dans la réalité quand les éclairages sont indirects ou diffus.

Cet effet est renforcé par la définition possible, contrairement au lancer de rayons, de sources lumineuses non ponctuelles (surfaces lumineuses) et par la réalisation de l'algorithme d'affichage.

L'obtention d'images photoréalistes se heurte à l'impossibilité de modéliser les réflexions et les transmissions. Ce problème pourrait trouver une solution avec la décomposition de la scène non plus en surfaces émissives, mais en volumes émissifs.

Une technique fréquement employée pour obtenir des images de grande qualité consiste à faire précéder un rendu par lancer de rayons, d'une phase de calcul des radiosités permettant une évaluation correcte des éclairages ambiants.

Un autre inconvénient des calculs de radiosité est la lenteur.