Ombrage Phong
Phong_shading.png
Aujourd'hui, le terme ombrage de Phong est utilisé à la fois pour le modèle d'illumination de Phong, et l'interpolation de Phong, deux algorithmes de traitement 3D en infographie. Tous les deux furent développés par Bui Tuong Phong.
| Sommaire |
Modelle d'illumination de Phong
L'illumination de Phong est un modèle local, c'est à dire qui calcule l'intensité en chaque point, et qui combine trois éléments - la lumière diffuse (modèle Lambertien), la lumière spéculaire et la lumière ambiente.
Il y a plusieurs présupposés à ce modèle : toutes les lumières sont assimilables à un point, il ne peut y avoir que des surfaces (pas de rendu en volume), et la lumière ambiente est supposée constante.
La composante diffuse, Id est donnée par :
- Id = Iikdsinθ
Avec Ii l'intensité de la lumière, θ l'angle entre la surface et la source de lumière et kd le coefficient de reflexion diffuse. On peut noter que, plus souvent, on utilise le cosinus de l'angle entre la normale de la surface et la lumière - cette technique est plus simple à mettre en oeuvre, mais revient, mathématiquement, au même.
Pour plusieurs sources lumineuses, on a :
Avec L et N des vecteurs unitaires, Ln le vecteur direction de la source de lumière n.
La composante spéculaire Is est donnée par :
Avec n la reflectivité de la surface - un mirroir parfait possèderait un n infini, Ω l'angle entre la surface et l'observateur, R la direction de la lumière spéculaire et V le vecteur vue de l'observateur.
C'est une première faille du modèle de Phong : on ne peut appliquer ici la radiosité.
En combinant la lumière diffuse et spéculaire, on obtient un modèle globalement suffisant, mais, pour simuler la lumière résiduelle, Phong ajouta une troisième composante, la lumière "ambiante", indépendante du point de vue ou de l'objet.
La composante ambiente Ig est une constante, donnée par :
- Ig = Iaka
Ce qui donne le modèle général d'illumination de Phong :
Les failles du modèle de Phong
- Nous l'avons dit plus haut, la composante spéculaire se base sur deux vecteurs directionnels, l'observateur et la lumière, et interdit toute radiosité du modèle.
- Ce modèle est purement empirique, fondé sur aucune théorie physique, uniquement sur les observations de Phong
- Ce modèle ne prévoit pas la diffusion de la lumière avec la distance
L'interpolation de Phong
Cette méthode, à mettre en parallèle avec l'l'interpolation de Gouraud, produit de bons résultats de rendus, souvent plus réalistes que son prédécesseur.
Le principal problème de l'ombrage de Gouraud, c'est qu'il ne calcule que les points (vertex) des surfaces : une source lumineuse spéculaire placée au centre d'un triangle n'apparaitra pas. Ce problème est réglé avec l'interpolation de Phong.
Soit trois vertex en deux dimensions : v1, v2 et v3, ayant pour vecteurs unitaires normaux n1, n2 et n3. Comme pour l'interpolation de Gouraud, nous interpolons de façon linéaire une normale N sur toute la surface du triangle v1v2v3, seulement nous le faisons depuis les trois vecteurs normaux des vertex. C'est à dire que nous interpolons en fait les vecteurs normaux au lieu des couleurs.
A la différence de l'interpolation de Gouraud cependant, le calcul ne se fait pas sur 3 points par surface, mais pour tous les points d'une surface - ou plus raisonablement, sur plusieurs subdivisions de points. Cette méthode, bien plus lente, est parfois traitée par le matériel directement, ce sont les pixel shaders.
