La radiosité est une technologie de rendu qui simule de manière réaliste les interactions de la lumière dans un environnement.
Cette rubrique vous présente les concepts liés à la radiosité et la manière dont cette technique d'illumination globale est associée à d'autres techniques de rendu disponibles dans 3ds Max. Ces informations vous aideront à déterminer la technique la mieux adaptée à la tâche de visualisation que vous souhaitez réaliser. En simulant plus précisément l'éclairage de votre scène, la radiosité vous offre des avantages importants par rapport aux lumières standard :

En haut : une scène rendue sans radiosité
.
En bas : la même scène rendue avec radiosité
Les modèles 3D créés dans 3ds Max contiennent des données géométriques définies en relation avec un système de coordonnées cartésiennes 3D, désigné comme espace univers. Le modèle comporte également d'autres informations sur le matériau de chacun des objets et l'éclairage de la scène. L'image d'un moniteur d'ordinateur est formée de nombreux points illuminés, appelés pixels. La tâche de création d'une image informatique graphique d'un modèle géométrique consiste à déterminer la couleur de chaque pixel en fonction des informations de modèle et d'un point de vue spécifique (caméra).
La couleur de tout point spécifique sur une surface de modèle est fonction des propriétés du matériau physique de cette surface et de la lumière qui l'illumine. Deux algorithmes d'ombrage généraux : illumination locale et illumination globale sont utilisés pour décrire la manière dont les surfaces reflètent et transmettent la lumière.
Les algorithmes d'illumination locale décrivent uniquement la manière dont les surfaces individuelles reflètent ou transmettent la lumière. En se basant sur une description de la lumière arrivant sur une surface, ces algorithmes mathématiques, appelés ombrages dans 3ds Max, prédisent l'intensité, la couleur et la distribution de la lumière quittant cette surface. En conjonction avec une description de matériau, les différents ombrages détermineront, par exemple, si une surface apparaîtra comme du plastique ou du métal ou si elle sera lisse ou rugueuse. 3ds Max offre une interface puissante de définition d'un large ensemble de différents matériaux de surface.
Après la définition du mode d'interaction d'une surface individuelle avec la lumière au niveau local, la tâche suivante consiste à déterminer d'où provient la lumière arrivant sur la surface. Avec le système de rendu de lignes de balayage standard de 3ds Max, seule la lumière provenant directement des sources lumineuses elles-mêmes est prise en compte dans l'ombrage.
Pour des images plus précises cependant, il est important de ne pas uniquement tenir compte des sources lumineuses, mais aussi du mode d'interaction de toutes les surfaces et objets de l'environnement avec la lumière. Par exemple, certaines surfaces bloquent la lumière, projetant des ombres sur d'autres surfaces ; certaines sont brillantes, auquel cas on y voit les réflexions d'autres surfaces ; certaines sont transparentes, auquel cas on voit d'autres surfaces à travers ; et certaines reflètent la lumière sur d'autres surfaces.
Les algorithmes de rendu qui prennent en compte les moyens de transfert de la lumière entre les surfaces du modèle sont appelés algorithmes d'illumination globale. 3ds Max propose deux algorithmes d'illumination globale faisant partie intégrante de son système de rendu de production : le lancer de rayons et la radiosité.
Avant d'expliquer le fonctionnement du lancer de rayons et de la radiosité, il convient de comprendre le mode de distribution de la lumière dans le monde physique. Prenons, par exemple, la pièce de l'illustration suivante.

Cuisine éclairée par deux lumières
La cuisine ci-dessus possède deux sources lumineuses. Une théorie de la lumière considère cette dernière en termes de particules discrètes appelées photons, qui voyagent depuis la source lumineuse jusqu'à ce qu'elles rencontrent une surface de la cuisine. Selon le matériau de la surface, certains de ces photons sont absorbés tandis que d'autres sont redisséminés dans l'environnement. Le fait que des photons se déplaçant à une longueur d'ondes donnée sont absorbés alors que d'autres ne le sont pas détermine la couleur de la surface.
Les surfaces très lisses reflètent les photons dans une direction, à un angle égal à l'angle auquel ils arrivent sur la surface, ou angle d'incidence. Ces surfaces sont appelées surfaces spéculaires, et ce type de réflexion est désigné comme réflexion spéculaire. Un miroir est un exemple de surface parfaitement spéculaire. Bien entendu, de nombreux matériaux affichent un certain degré de réflexion à la fois spéculaire et diffuse.

Gauche : réflexion spéculaire
.
A droite: réflexion diffuse
La manière dont les photons sont reflétés à partir d'une surface dépend principalement de la régularité de la surface. Les surfaces rugueuses tendent à refléter les photons dans toutes les directions. On les appelle des surfaces diffuses, et ce type de réflexion est désigné comme réflexion diffuse (illustrée ci-dessus). Un mur peint de manière plane constitue un bon exemple de surface diffuse.
L'illumination finale de la cuisine est déterminée par l'interaction entre les surfaces et les milliards de photons émis par la source lumineuse. A un point donné d'une surface, il est possible que des photons soient arrivés directement de la source lumineuse (illumination directe) ou indirectement suite à un ou plusieurs rebonds sur d'autres surfaces (illumination indirecte). Si vous vous teniez dans la cuisine, un très petit nombre de photons de la pièce entreraient dans votre oeil et stimuleraient les bâtonnets et cônes de votre rétine. Cette stimulation formeraient ainsi une image perçue par votre cerveau.
En informatique graphique, nous remplaçons les bâtonnets et cônes d'une rétine par les pixels de l'écran d'ordinateur. Un objectif d'un algorithme d'illumination globale consiste à recréer, aussi précisément que possible, ce que vous verriez si vous étiez dans un environnement réel. Un second objectif consiste à accomplir cette tâche aussi vite que possible, dans l'idéal en temps réel (30 images par seconde). Aucun algorithme d'illumination globale n'est pour le moment en mesure d'atteindre ces deux objectifs.
Un des premiers algorithmes d'illumination globale mis au point est désigné comme lancer de rayons. L'algorithme de lancer de rayons reconnaît que bien que des milliards de photons peuvent traverser la pièce, ceux qui nous intéressent principalement sont ceux qui entrent dans l'oeil. L'algorithme fonctionne en traçant des rayons inverses, depuis chaque pixel de l'écran vers le modèle 3D. Nous calculons ainsi uniquement les informations requises pour construire l'image. Pour créer une image à l'aide du lancer de rayons, la procédure suivante est exécutée pour chaque pixel de l'écran d'ordinateur.

Lancer de rayons : des rayons sont tracés depuis la caméra, en passant par un pixel, vers la géométrie, puis reviennent à leurs sources lumineuses.
L'algorithme de lancer de rayons est très polyvalent étant donné la large gamme d'effets d'éclairage qu'il peut créer. Il peut représenter avec précision les caractéristiques d'illumination globale de l'illumination directe, des ombres, des réflexions spéculaires (par exemple des miroirs) et de la réfraction à travers des matériaux transparents. Le principal inconvénient du lancer de rayons est qu'il peut être très lent pour les environnements dont la complexité est modérée. Dans 3ds Max, le lancer de rayons est utilisé de manière sélective sur les objets avec des matériaux de lancer de rayons spécifiant le lancer de rayons comme option d'ombrage. Le lancer de rayons peut également être défini pour les sources lumineuses comme méthode de rendu des ombres projetées.
Un inconvénient notable du lancer de rayons et du rendu par lignes de balayage est que ces deux techniques ne tiennent pas compte d'une caractéristique très importante de l'illumination globale, les inter-réflexions diffuses. Avec le lancer de rayons traditionnel et le rendu par lignes de balayage, seule la lumière arrivant directement des sources lumineuses elles-mêmes est représentée avec précision. Cependant, comme illustré dans la pièce exemple, la lumière arrivant sur une surface provient non seulement des sources lumineuses (éclairage direct), mais également d'autres surfaces (éclairage indirect). Si nous devions par exemple effectuer le lancer de rayons sur une image de la cuisine, les zones d'ombre apparaîtraient en noir car elles ne reçoivent aucune lumière directe des sources lumineuses. Nous savons cependant par expérience que ces zones ne seraient pas totalement sombres étant donné la lumière qu'elles reçoivent des murs les entourant et du sol.
Dans le rendu lignes de balayage et le lancer de rayons traditionnel (versions de 3ds Max antérieures à la version 5), cette illumination indirecte est généralement représentée en ajoutant simplement une valeur de lumière ambiante arbitraire sans corrélation avec le phénomène physique d'illumination indirecte et constante dans tout l'espace. C'est la raison pour laquelle les images par lignes de balayage et lancer de rayons peuvent souvent sembler très plates, en particulier les rendus d'environnements architecturaux, qui comportent en principe essentiellement des surfaces diffuses.
Pour répondre à ce problème, des chercheurs ont commencé à étudier d'autres techniques de calcul de l'illumination globale, en s'inspirant de la recherche en ingénierie thermique. Au début des années 1960, des ingénieurs ont mis au point des méthodes de simulation du transfert de chaleur radiante entre les surfaces pour déterminer comment leurs conceptions se comporteraient dans des applications telles que les fours et les moteurs. Au milieu des années 1980, des chercheurs en informatique graphique ont commencé à étudier l'application de ces techniques pour simuler la propagation de la lumière.
La radiosité, terme désignant cette technique dans l'univers de l'informatique graphique, diffère fondamentalement du lancer de rayons. Au lieu de déterminer la couleur de chaque pixel d'un écran, la radiosité calcule l'intensité de toutes les surfaces de l'environnement. Ceci s'effectue en divisant tout d'abord les surfaces d'origine en maillage de surfaces plus petites appelées éléments. L'algorithme de radiosité calcule la quantité de lumière distribuée à partir de chaque élément de maillage vers chaque autre élément de maillage. Les valeurs de radiosité finale sont mémorisées pour chaque élément du maillage.

Radiosité : un rayon de lumière frappant une surface est reflété par plusieurs rayons diffus, qui peuvent eux-mêmes illuminer d'autres surfaces. Les surfaces sont subdivisées pour augmenter la précision de la solution.
Dans des versions antérieures de l'algorithme de radiosité, la distribution de lumière entre les éléments de maillage devait être entièrement calculée avant de pouvoir afficher tout résultat utile à l'écran. Même si le résultat était indépendant de la vue, le traitement préalable était très long. L'affinement progressif a été inventé en 1988. Cette technique affiche des résultats visuels immédiats pouvant s'améliorer progressivement en précision et qualité visuelle. La technique, appelée rendu par relaxation stochastique (SRR, stochastic relaxation rendering) a été inventée en 1999. L'algorithme SRR est le fondement des systèmes de radiosité commerciaux fournis par Autodesk.
Bien que les algorithmes de lancer de rayons et de radiosité soient très différents, ils sont complémentaires à plus d'un titre. Chaque technique possède des avantages et des inconvénients.
| Algorithme d'éclairage | Avantages | Inconvénients |
|---|---|---|
| Lancer de rayons | Effectue un rendu précis de l'illumination directe, des ombres, des réflexions spéculaires et des effets de transparence. Peu gourmand en mémoire |
Calculs poussés. Le temps requis pour produire une image est fortement affecté par le nombre de sources lumineuses. Le processus doit être répété pour chaque vue (dépendant de la vue). Ne tient pas compte des inter-réflexions diffuses. |
| Radiosité | Calcule les inter-réflexions diffuses entre les surfaces. Fournit des solutions indépendantes de la vue pour un affichage rapide de vues arbitraires. Offre des résultats visuels immédiats. |
Le maillage 3D exige davantage de mémoire que les surfaces d'origine. L'algorithme d'échantillonnage des surfaces est plus sujet au parasitage des images que le lancer de rayons. Ne tient pas compte des réflexions spéculaires ni des effets de transparence. |
Ni la radiosité, ni le lancer de rayons n'offre une solution complète pour simuler tous les effets d'illumination globale. La radiosité excelle dans le rendu d'inter-réflexions diffuses, tandis que le lancer de rayons rend parfaitement les réflexions spéculaires. En intégrant les deux techniques à un système de rendu lignes de balayage de qualité production, 3ds Max offre une alliance idéale. Une fois la solution de radiosité créée, vous pouvez effectuer le rendu d'une vue bidimensionnelle de cette solution. Dans votre scène 3ds Max, le lancer de rayons ajoute des effets en plus de ceux produits par la radiosité : les lumières peuvent engendrer des ombres par lancer de rayons et les matériaux peuvent engendrer des réflexions et des réfractions par lancer de rayons. La scène rendue combine ces deux techniques et paraît plus réaliste qu'elle ne le serait si une seule technique était utilisée.
En intégrant le lancer de rayons et la radiosité, 3ds Max offre une gamme complète de possibilités de visualisation, depuis des études d'éclairage interactives rapides jusqu'à des images d'une qualité et d'un réalisme exceptionnels.