Intro :
Dans les jeux vidéo, la gestion du rendu des lumières est cruciale pour effectuer un rendu à la fois réaliste et joli.
Dans cet article nous allons présenter les rudiments de la théorie sur le rendu des lumières.
Le rendu lumineux est un sujet vaste et complexe et pour cause le sujet est encore soumis à des recherches académiques ou en R&D.
En effet, ces dernières années les jeux vidéos les plus récents affichent des rendus de lumière de plus en plus réalistes, en utilisant par exemple un type de rendu nommé Deferred Shading.
[éclater en plusieurs articles]
Prérequis :
– Savoir ce qu’est une normale
– Savoir lire du C++
– Savoir lire un programme shader HLSL
Explications :
Avant tout, éclaircissons un peu de vocabulaire.
Les deux notions qui suivent ont des propriétés de nature différente :
Les propriétés d’un matériau donnée (or, glace, bois, métal, etc…) déterminent comment un modèle est affiché :
– Emissive :
– ce terme désigne la valeur d’émission d’un matériau permettant d’émettre une couleur de lumière comme si elles avaient été toutes désactivées. Notée Ke.
– Ambient :
– ce terme désigne la valeur ambiante d’émission d’une lumière, comme le soleil.
– Diffuse :
– ce terme désigne la couleur diffuse qu’émet la lumière dans toutes les directions.
– Specular :
– Specular power :
– représente le degré d’éclat de brillance.
Les propriétés d’une lumière donnée déterminent comment la scène est affichée :
– Type de lumière :
– il y a 3 types de lumière :
Point : une lumière qui émet dans toutes les directions.
Spot : une lumière qui émet dans une direction spécifique.
Directional : une lumière qui a une direction donnée mais n’a pas de position donnée, comme par exemple le soleil.
– Color :
– la couleur de la source de lumière
– Position :
– définie la position de la lumière par trois valeurs de coordonnées
– Direction :
– définie la direction à laquelle pointe la lumière
Le but du calcul lumineux est de combiner ces deux catégories de propriétés afin déterminer la couleur finale de la lumière (avec ses nuances d’ombre).
Lumière ambiante :
La lumière ambiante désigne, comme son nom l’indique, une lumière qui éclaire dans toutes les directions. C’est comme un soleil qui illumine partout.
L’équation est toute simple :
Ip = pa * Ia
[utiliser ambient = Ka + Ga]
Ia désigne l’intensité de la lumière ; et pa le coefficient de réflexion de la lumière ambiante. Ip désigne l’intensité de la lumière résultant de la réflexion sur la surface finale.
Ce principe de calcul de la lumière illuminative est très rudimentaire car il n’affiche pas les ombres des modèles que font apparaître indirectement la lumière émissive.
[image lumière ambiante]
La réflexion diffuse :
Le principe de la réflexion diffuse consiste à considérer la position d’émission d’une lumière quelconque (ou plusieurs)
On a remarqué, mathématiquement, que l’intensité en un point de l’effet d’une lumière quelconque dépend de l’angle formé entre le rayon de lumière qui touche le point de la surface et la normale à la surface.
Il se trouve que, plus l’angle formé entre le rayon de lumière et la normale au plan est faible, plus l’intensité lumineuse réfléchie visible par l’observateur est forte.
[ajouter schéma dot product]
Types de calcul lumineux :
Résumé :
Références :
– http://irrlicht-fr.org/lire_tuto.php?id=1014
– https://takinginitiative.wordpress.com/2010/08/30/directx-10-tutorial-8-lighting-theory-and-hlsl/
– http://www.3dgep.com/texturing-lighting-directx-11/
– http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter05.html


