Physique de base
pour l'Infographie:
la lumière

MODÈLES D'OMBRAGE

LAMBERT

GOURAUD

PHONG

RÉFLEXION SPÉCULAIRE

LUMIÈRES ET MATÉRIAUX EN INFOGRAPHIE

CONCLUSION

 

WB01624_.gif (281 octets) RETOUR

Modèles d'éclairement

On dispose d'un objet dont on peut déterminer la normale extérieure en chaque point. Cet objet peut être constitué de surfaces planes, courbes ou d'un ensemble de facettes.

On désire calculer la quantité de lumière frappant chacun des points de l'objet (quantité de lumière par unité de surface).

En première approximation, la couleur de chaque pixel dépend de cette quantité de lumière et d'une couleur intrinsèque.

Image001.gif (1757 octets)

Propagation des rayons lumineux

A l'interface entre deux milieux, un rayon lumineux incident est séparé en plusieurs composantes distinctes:

  • absorbée,
  • réfléchie spéculairement,
  • transmise,
  • diffusée.

Image006.gif (4363 octets)

L'énergie totale reçue à l'interface est redistribuée entre ces différentes composantes.

Image67.gif (7062 octets)

Le programme

Diffusion Lambertienne

La couleur d’un objet est directement issue de la quantité de lumière qui le touche et des caractéristiques physiques de l’objet vis à vis des longueurs d’ondes qu’il laisse diffuser.

Modèle de Lambert: la diffusion est effectuée uniformément dans toutes les directions.

-> Il n’y a pas plus de lumière diffusée dans une direction que dans une autre.

-> La direction d’incidence n’a pas d’influence sur la lumière diffusée.

L’éclairage d’un point P d’une surface s dépend uniquement des caractéristiques de s et de l’angle q entre le vecteur normé Image005.gif (873 octets)vers la source de lumière en P et la normale Image005.gif (873 octets) extérieure à s en P.

Image003.gif (2146 octets)

Cette valeur est donnée par L = Ip Kd cos(q).

Ip est l’intensité de lumière (énergie lumineuse par unité de surface) reçue en P (inversement proportionnelle au carré de la distance entre P et la source lumineuse) et Kd est le coefficient de diffusion de la surface.

Autre formulation: L = Ip Kd (Image005.gif (873 octets).Image005.gif (873 octets))

Si le produit scalaire donne une valeur négative le point P s'automasque et n'est donc pas éclairé.

On peut calculer la luminosité de tout objet en chacun de ses points.

A partir de cette luminosité et d'une teinte intrinsèque on calcule la couleur en chaque point (compte non tenu des composantes de lumière réfléchie et transmise). Plus précisément, l'attribution de coefficients de diffusion dans le rouge, vert et le bleu (teintes de base en synthèse additive) permet de modéliser la couleur de l'objet par les longueurs d'onde diffusées.

Dans le cas d’un objet représenté par facettes planes, chaque facette aura une illumination et donc une couleur constante

-> le passage d'une facette à une autre est très visible.

Image002.gif (40327 octets)

Représentation en fil de fer

Image002b.gif (19361 octets)

Représentation en facettes unies

Illumination de Gouraud

Le calcul d'illumination de Gouraud (illumination par interpolation de couleurs) permet d'éviter le problème du passage brusque d'une couleur à une autre lors du passage d'une facette plane à une autre facette plane sur un objet lisse modélisé par facettes planes.

Soit un objet modélisé par un ensemble connexe de facettes triangulaires.

Chaque facette est munie de trois couleurs: une pour chacun de ses sommets.

On attribue une couleur à chacun des points de la facette par double interpolation linéaire (interpolation bilinéaire) entre ces trois couleurs.

Problème: calculer la couleur de chacun des sommets de chacune des facettes.

Soit en chaque sommet s le vecteur Image008.gif (943 octets) égal à Image009.gif (1737 octets) où les n vecteurs Image010.gif (944 octets) sont les n vecteurs normaux aux facettes adjacentes à s.

L'illumination en s est Ls = Ip Kd (Image005.gif (873 octets).Image008.gif (943 octets)) qui permet de calculer une couleur.

Image006.gif (5845 octets)

Image007.gif (10010 octets)

Le programme

Caractéristiques

  • Technique efficace en terme de temps de calcul pour l'obtention d'un réalisme moyen.

  • Implantation facile dans le cadre de la programmation de l'algorithme du Z-Buffer.

  • L'utilisation d'une interpolation entre des valeurs numériques n'est qu'une approximation qui peut conduire à des défauts de visualisation.

Vue de coté

Image62.gif (2974 octets)

Vue du dessus

  • Cette technique reste un bon compromis entre vitesse et réalisme.

Illumination de Phong

Principe: Réaliser le calcul d'illumination par interpolation directe à partir des normales moyennes associées aux sommets des facettes.

Pour chaque pixel on aura une normale interpolée qui permettra le calcul de l'illumination en ce pixel par une formule donnant la quantité de lumière diffusée (Lambert).

Caractéristiques

La quantité de calcul nécessaire à une implémentation de l'algorithme de Phong est très importante comparativement à celle relative à l'emploi de Gouraud.

Les opérations effectuées agissent sur des réels et non sur des entiers -> temps de calcul plus longs.

Le modèle de Phong est plus réaliste que le modèle de Gouraud. Il permet de plus de palier aux incompatibilités ou limitations inhérentes au modèle de Gouraud vis à vis de certains phénomènes visuels (réflexion spéculaire par exemple).
Il produit en effet une normale en chaque pixel, normale qui peut être employée pour des calculs d'amélioration de la qualité des images.

Ombrage flat

Image63b.gif (25915 octets)

Ombrage de Gouraud

Image63c.gif (24653 octets)

Ombrage de Phong

Les calculs d’illumination de Lambert, Gouraud et Phong sont basés sur une modélisation de la lumière diffusée. Ils ne permettent intrinséquement pas de rendre la lumière réfléchie et la lumière transmise.

Toutefois, au prix d'approximations, ces phénomènes peuvent être visualisés.

Réflexion spéculaire

On appelle réflexion spéculaire le phénomène de réflexion de la lumière dans un cône autour d'une direction privilégiée plutôt que dans une direction unique.

-> visualisation des reflets des sources lumineuses,

-> aspect laqué.

Pas de réflexion spéculaire

Image64b.gif (27237 octets)

Deux sources lumineuses sur une sphère réfléchissant spéculairement

Le programme

Le programme en GLUt

La quantité de lumière réfléchie spéculairement est fonction de la distance angulaire entre la direction privilégiée de réflexion et l'axe de vision de l'observateur. Plus cette distance est grande, moins il y a de lumière spéculaire. Si l'observateur change de position, les taches de lumière changent de position.

Cette distance angulaire est mesurée au moyen du cosinus de l'angle entre la direction privilégiée de réflexion (le calcul de cette valeur nécessite de connaître la normale à l'objet) et l'axe observateur<->point visé.

Image67.gif (7062 octets)

Le programme

L'apparition de taches de réflexion spéculaire est directement fonction de la position de l'observateur et est l'un des indices utilisés par le cerveau pour se faire une idée de la géométrie des objets.

La surface de l'objet où apparaît la lumière spéculaire prend généralement la couleur de la source lumineuse elle-même.

Le programme

Modélisation de la lumière et des matériaux en Infographie

Une modélisation complète de la lumière au sein d'une scène mettrait en oeuvre un grand nombre de phénomènes physiques qui reposent sur le déplacement de l'énergie lumineuse:

  • diffusions,
  • reflexions,
  • transmissions,
  • sources lumineuses ponctuelles,
  • sources lumineuses surfaciques,
  • diffusion dans les matériaux,
  • réflexions multiples et infinies,
  • ...

-> Une grande difficulté pour gérer correctement les éclairages au sein des scènes complexes.

Les librairies 3D axées sur la seule modélisation de la lumière diffusée proposent généralement des approximations permettant de faciliter la construction de l'éclairage des scènes.

Pour chaque objet définition d'un matériel autorisant l'interaction avec différents types de lumière:

  • Lumière émise: Les objets ne sont pas intrinséquement emetteurs de lumière et n'éclairent donc pas les autres objets mais possédent ce niveau minimum d'éclairement.

  • Lumière ambiante: Lumière éclairant uniformément les objets. Il existe une ou plusieurs lumières "ambiantes" dans la scène. Les objets peuvent y répondre au non (coefficients de réflexion ambiante).

  • Lumière diffuse: Lumière utilisée uniquement pour les caculs de diffusion. Il existe une ou plusieurs lumières "diffuses" dans la scène. Les objets peuvent y répondre ou non (coefficients de réflexion diffuse).

  • Lumière spéculaire: Lumière utilisée uniquement pour les caculs de réflexion spéculaire. Il existe une ou plusieurs lumières "spéculaires" dans la scène. Les objets peuvent y répondre ou non (coefficients de réflexion spéculaire + réflectivité).

La lumière reçue en un point est la somme de toutes les lumières gérées touchant ce point.

Conclusion

Si les algorithmes d'élimination des parties cachées permettent la visualisation volumique des objets, seules les techniques de calcul d'illumination permettent l'obtention d'un rendu photoréaliste.

Ces techniques permettent aussi de compenser partiellement certaines imperfections des modèles de conception 3D. On citera en particulier la facettisation des objets masquable par la technique de Gouraud.

Les modèles d'illumination intègrent au minimum l'évaluation de la lumière diffuse. Ils peuvent intégrer en suplément les aspects essentiels que sont les transparences (réfractions), les réflexions et les réflexions spéculaires vis à vis d'objets non intrinsèquement lumineux. Ces phénomènes sont toutefois modélisés (approximés) au prix de traitements demandant une quantité de calcul importante et donc d'un temps global d'affichage allongé.

Image129.jpg (28966 octets)

Réflexions par placage de texture: Le programme

Image131.jpg (13207 octets)

Transparences: Le programme

Image130.jpg (26297 octets)

Flou de déplacement: Le programme

Image132.jpg (18504 octets)

Des ombres portées: Le programme