L'illumination globale : |
|||||||||||||||||||||||||||||||
PRINCIPE
FACTEUR
|
Introduction
Les algorithmes de rendu par Z-Buffer+Lambert+Gourond+Phong ou par ray-tracing sont assez approximatifs en terme d'évaluation des déplacements
d'énergie à l'intérieur des scènes. Le principal problème non résolu est lié à la localité des éclairages : Un objet n'est éclairé que s'il n'est pas situé au delà d'un certain nombre de réflexions (réflexion diffuse, réflexion spéculaire ou réfraction) vis à vis de toutes les sources lumineuses définies "en tant que telles" dans la scène.
Tous les objets d'une scène sont de même nature, qu'il s'agisse de lumières ou bien d'objets graphiques classiques. Ce spectre d'émission (la radiosité) est la somme de deux composantes (chacune pouvant éventuellement être nulle) :
Ainsi, après une infinité (un très grand nombre) de réémissions successives des objets les uns sur les autres, un équilibre énergétique sétablit à lintérieur de la scène. Chaque objet de la scène est alors affecté dune composante lumineuse colorée. C'est cette couleur que nous voyons.
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 dobstacles entre les deux.
Le facteur de forme dFdidj dune surface différentielle dAi vers une surface différentielle dAj est :
où qi est langle entre la normale à la surface Ai au point considéré et laxe 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. Cest à dire :
Problème : Réaliser cette intégration (qui est en fait une intégrale quadruple (surface-surface)).
Il n'existe pas de méthode analytique pour opérer cette intégration (même dans les cas les plus simples) Première approximation On considère que Fij = Fdi j. Calcul de Fdi j par projection sur lhé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 lhémisphère selon laxe donné par la normale à Ai. On divise laire de la surface obtenue par laire du cercle base.
Cette méthode a pour inconvénient de requérir lemploi 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 lhémicube Principe : Projeter sur lhé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.
A chacune de ces cellules est associé un facteur de forme approximé
La somme des facteurs de forme élémentaires donne le facteur de forme total de la surface de départ. On établit que pour une cellule p de coordonnées (xp,yp,zp) située sur lhémicube :
Plus la discrétisation de lhémicube est poussée, meilleure est lestimation du facteur de forme, mais plus long est le calcul. La technique précédente permet de calculer une bonne 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.
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.
En fait, on calcule la matrice de facteurs de forme non plus composante après composante, mais ligne après ligne. La technique de calcul des facteurs de forme par hémicube s'est imposée au cours du temps car elle permet de s'appuyer sur l'implantation hard du Z-Buffer réalisée sur les adaptateurs graphiques et est donc ainsi "rapide". 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 nest 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-Seidel ou Jacobi par exemple. -> On arrête la résolution du système à l'itération permettant d'atteindre le niveau de précision désiré (invariance entre deux états successifs obtenue sur les radiosités ou les images affichées avec ces radiosités). Ce système d’équations est résolu pour les trois composantes rouge, verte et bleue (valeurs de réflectivité et d'émission intrinséque différentes dans le système d'équations linéaires) permettant ainsi dobtenir des images colorées.
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
On obtient une très bonne estimation des flux d'énergie à l'intérieur de la scène. 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érents aux autres algorithmes de rendu). Les scènes d'intérieur tire un grand profit de ce type 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.
Une fois léquilibre énergétique calculé, laffichage dune scène est très rapide (rapidité du Z-Buffer ou du lancer de rayons). Contrairement au lancer de rayons, on na pas à recalculer léquilibre si on effectue un déplacement de l'observateur à lintérieur de la scène. Tant que la scène nest pas modifiée, les calculs danimation sont extrêmement rapides.
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 des problèmes comme par exemple sur les ombres :
ou sur les éclairages :
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) :
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. Algorithme
Déclarer un tableau d'énergie B destiné à contenir la radiosité
de chacune des n surfaces 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 surface F considérée à chaque itération. On accélère la convergence en choisissant la surface possédant la radiosité maximale restant à émettre. Remarque : On peut être appelé à calculer plusieurs fois, au cours de l'exécution, la ligne de facteurs de forme concernant une surface.
Radiosité progressive 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 surfaces) dans les zones critiques. La technique généralement employée consiste à subdiviser récursivement les surfaces. On pourra détecter ces zones critiques par le fait que deux surfaces voisines situées à leurs limites présentent des valeurs Fdi-j différant d'une valeur supérieure à une limite prédéfinie.
Une cathédrale
Une usine 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 spéculaires et les transmissions. 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. |