Article Index

Les modèles d'ombrage

Maintenant que nous savons comment calculer l'intensité lumineuse en un point, nous nous heurtons souvent à des contraintes de performances. En effet, la plupart du temps, il n'est pas réaliste de calculer la lumière pour chaque point de la scène. De plus, la plupart des logiciels 3D modélisent les objets à l'aide de polygones, ce qui signifie que l'objet final ne sera pas nécessairement constitué de faces planes. Il est peu pratique, voire impossible, d'utiliser un nombre infini de faces plates pour représenter des objets courbes. Cependant, même dans ce cas, il est important de conserver un aspect courbé réaliste. Pour cela, plusieurs techniques d'approximation de la lumière en un point sont couramment utilisées. Nous allons explorer les plus courantes.

L'ombrage plat

Commençons par la méthode la plus simple : l'ombrage plat. Cette méthode consiste à calculer la lumière pour un seul point de la surface que nous souhaitons représenter, puis à utiliser la même intensité pour l'ensemble de la surface. Bien que cette méthode soit simple, elle a tendance à mettre fortement en évidence les polygones qui composent un objet.
http://irrlicht-fr.org/_imagesT/img_18.jpg

L'ombrage de Gouraud

L'ombrage de Gouraud repose sur le calcul de l'intensité lumineuse aux sommets du polygone, puis sur une interpolation linéaire de ces intensités pour déterminer l'intensité lumineuse en chaque point de la face. Cette interpolation linéaire s'effectue le long des arêtes du polygone projeté. Cette technique permet d'obtenir un rendu plus lisse qui atténue les frontières visibles entre les polygones générées par l'ombrage plat. Voici un exemple illustrant le remplissage avec l'ombrage de Gouraud :
http://irrlicht-fr.org/_imagesT/img_19.jpg

L'ombrage de Phong

L'ombrage de Phong partage des similitudes avec l'ombrage de Gouraud, mais avec une différence significative : au lieu d'interpoler linéairement les intensités lumineuses des sommets sur le polygone 3D, on interpole les normales des sommets. Comme nous l'avons vu précédemment, pour calculer l'intensité lumineuse en un point, notamment dans les modèles de diffusion et de spécularité, nous avons besoin de la normale à la surface en ce point.

Avec l'ombrage de Phong, nous interpolons linéairement les normales des sommets pour obtenir une normale en chaque point, puis utilisons cette normale pour recalculer l'intensité lumineuse en chaque point. Il est évident que cette méthode est plus coûteuse en termes de calcul que l'ombrage de Gouraud, mais elle offre un meilleur rendu du modèle d'illumination spéculaire tout en utilisant un nombre moindre de polygones.

En effet, dans certains cas, la zone éclairée peut être petite voire entièrement contenue dans un polygone. Dans cette situation, si nous calculons les intensités lumineuses aux sommets, elles ne seront pas représentatives de l'éclairage au centre de la zone éclairée. Avec l'ombrage de Gouraud, cette variation ne serait pas visible, tandis qu'avec l'ombrage de Phong, elle serait prise en compte car la lumière est recalculée en chaque point (même si c'est avec une normale interpolée). La plupart des illustrations des modèles d'illumination sont réalisées avec l'ombrage de Phong. Voici un exemple démonstratif du remplissage avec l'ombrage de Phong :


http://irrlicht-fr.org/_imagesT/img_20.jpg