Eclairage et matériaux
réalistes :
Dans tous les programmes que
nous avons écrits jusqu'à présent, nous nous sommes contentés
d'affecter à chacun des sommets de nos polygones une couleur fixe. Aucun
algorithme de gestion de l'illumination n'a été mis en uvre.
Un sommet dont la couleur est définie comme rouge apparaît toujours
à l'écran avec le même rouge, quelque soit le point de vue
depuis lequel on l'observe. Dans la réalité, un point de couleur
rouge apparaîtra différemment suivant l'éclairage auquel il
est soumis et l'angle sous lequel vous l'observez. OpenGL permet d'effectuer un
rendu prenant en compte l'illumination des objets. Pour simuler de manière
réaliste une scène tridimensionnelle il est nécessaire de
reproduire les lois physiques qui régissent la lumière. Ces lois
sont complexes, et il est impossible de les reproduire exactement. On se contente
donc de choisir un modèle mathématique aussi proche que possible
de la réalité. En fonction de l'application à laquelle il
est destiné, le modèle d'illumination choisi permettra d'obtenir
des résultats plus ou moins réalistes et rapides. Le modèle
utilisé par le moteur de rendu de Blender donne des résultats beaucoup
plus réalistes que celui d'OpenGL. En revanche, le rendu d'une scène
OpenGL est bien plus rapide.
Pour étudier le
modèle d'illumination utilisé par OpenGL, il nous faut aborder
3 points :
- Les sources lumineuses
: quels sont les paramètres permettant de définir une source de
lumière ?
- Les matériaux : Une brique ne réfléchit pas la
lumière de la même manière qu'une plaque d'aluminium : le
matériau est un facteur primordial pour l'éclairage d'une scène.
- L'algorithme de remplissage : calculer l'éclairage en chaque
pixel de l'image est trop coûteux en temps. OpenGL utilise une astuce
pour accélérer le rendu.