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

 

WB01624_.gif (281 octets) RETOUR

Principe

Tout objet d’une scène émet certaines radiations électromagnétiques le rendant lumineux et donc visible.

Cette valeur (la radiosité) est la somme de deux composantes:

  • une énergie émise intrinsèquement,

  • la réémission d'une partie des radiations provenant 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. C'est cette lumière que nous visualisons.

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 d’é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 d’élimination des parties cachées classique (Z-Buffer).

Calcul du facteur de forme entre deux surfaces

Le facteur de forme Fij est la fraction d’énergie qui quittant une facette i arrive sur la facette j.

Pour son calcul, on tient compte de la forme et de l’orientation respective des deux facettes ainsi que de la présence éventuelle d’obstacles.

Image002.gif (3363 octets)

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

Image001.gif (1257 octets)

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:

Image003.gif (1742 octets)

Image004.gif (1956 octets)

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, on emploie des solutions approximées.

Calcul de Fdi j, 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 la sphère de rayon unitaire centrée sur dAi.

On projette la portion de sphè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.

Image005.gif (5526 octets)

Cette méthode a pour inconvénient qu’elle nécessite l’emploi de projections sur une sphère, ce qui n'est pas une opération simple.

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

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

Chacune des cinq faces 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.

Image014.gif (6834 octets)

A chacune de ces cellules est associé un facteur de forme approximé Image006.gif (1448 octets)

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 de ces facteurs de forme 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:

  • Image007.gif (1405 octets) si p est du dessus de l’hémicube.

  • Image008.gif (1501 octets) si p est une cellule située sur l’une des faces perpendiculaires à l’axe x.

  • Image008.gif (1501 octets) si p est une cellule située sur l’une des faces perpendiculaires à l’axe y.

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

Image015.gif (5264 octets)

Pour éviter 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.

Image016.gif (8058 octets)

On calcule en une fois une ligne de facteurs de forme.

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

Soit une surface i.

On établit Image010.gif (1500 octets)

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

-> Image010.gif (1500 octets)

-> Image010.gif (1500 octets)

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

Image012.gif (1378 octets)

Remarque: La diagonale n’est pas forcément égale à 1 car une surface s non plane s’éclaire 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é (radiosités ou image).

Ce système d’équations peut être résolu pour différentes longueurs d’onde (réflectivités différentes) permettant ainsi d’obtenir des images colorées.

Exemples

rad1f.gif (24225 octets)

Radiosité avec affichage par Z-Buffer
et ombrage plat

rad1l.gif (31004 octets)

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

rad11.jpg (14381 octets)

Mise en évidence de réflexions colorées

rad12.jpg (14000 octets)

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.

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 liés à l'algorithme du lancer de rayons).

La réalisation du Z-Buffer d'affichage, généralement 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).

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, des réflexions et de la lumière spéculaire.

La discrétisation de la scène et de 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 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:

  • 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 avoir à stocker l'ensemble de la matrice des facteurs de forme.

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

La seule latitude offerte dans cet algorithme concerne le choix de la facette F. On accélère la convergence en choisissant la facette possédant la radiosité maximale.

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

rad13.jpg (14114 octets)

rad14.jpg (14717 octets)

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

Eglise.gif (127076 octets)

Une cathédrale

Usine.gif (61165 octets)

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 générées sur chaque surface à l'intérieur 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 du Z-Buffer 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 qualité consiste à faire précéder un rendu par lancer de rayons, d'une phase de calcul des radiosités permettant l'évaluation des éclairages ambiants.

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