Formules mathématiques d’éclairage

Le modèle de lumière Direct3D couvre l’éclairage ambiant, diffus, spéculaire et émissif. Cette flexibilité est suffisante pour résoudre un large éventail de situations d’éclairage. La quantité totale de lumière dans une scène est appelée illumination globale.

L’éclairage global est calculé comme suit :

global_illumination = ambient_lighting + diffuse_lighting + specular_lighting + emissive_lighting;

L’éclairage ambiant est un éclairage constant. L’éclairage ambiant est constant dans toutes les directions et il colore tous les pixels d’un objet de la même façon. Il est rapide à calculer, mais laisse des objets à l’aspect plat et irréaliste.

L’éclairage diffus dépend à la fois de la direction de la lumière et de la surface de l’objet normale. L’éclairage diffus varie sur la surface d’un objet en raison de la modification de la direction de la lumière et du vecteur numaire de surface changeant. Le calcul de l’éclairage diffus prend plus de temps, car il change pour chaque vertex d’objet, mais l’avantage de l’utiliser est qu’il nuance les objets et leur donne une profondeur en trois dimensions (3D).

L’éclairage spéculaire identifie les mises en évidence spéculaires brillantes qui se produisent lorsque la lumière atteint la surface d’un objet et se reflète vers l’appareil photo. L’éclairage spéculaire est plus intense que la lumière diffuse et tombe plus rapidement sur la surface de l’objet. Il faut plus de temps pour calculer l’éclairage spéculaire que l’éclairage diffus, mais l’avantage de son utilisation est qu’il ajoute des détails significatifs à une surface.

L’éclairage émissif est la lumière émise par un objet ; par exemple, une lueur. L’émission fait apparaître un objet rendu comme auto-lumineux. L’émission affecte la couleur d’un objet et peut, par exemple, rendre un matériau sombre plus lumineux et prendre une partie de la couleur émise.

Un éclairage réaliste peut être réalisé en appliquant chacun de ces types d’éclairage à une scène 3D. Les valeurs calculées pour les composants ambiants, émissifs et diffus sont générées en tant que couleur de vertex diffuse ; la valeur du composant d’éclairage spéculaire est sortie en tant que couleur de vertex spéculaire. Les valeurs de lumière ambiante, diffuse et spéculaire peuvent être affectées par l’atténuation et le facteur de lumière d’une lumière donnée. Voir Atténuation et facteur de mise en avant.

Pour obtenir un effet d’éclairage plus réaliste, vous ajoutez plus de lumières; toutefois, le rendu de la scène prend plus de temps. Pour obtenir tous les effets souhaités par un concepteur, certains jeux utilisent plus de puissance processeur que ce qui est généralement disponible. Dans ce cas, il est courant de réduire au minimum le nombre de calculs d’éclairage en utilisant des cartes d’éclairage et des cartes d’environnement pour ajouter de l’éclairage à une scène tout en utilisant des cartes de texture.

L’éclairage est calculé dans l’espace de la caméra. Consultez Transformations d’espace de la caméra. L’éclairage optimisé peut être calculé dans l’espace du modèle, lorsque des conditions particulières existent : les vecteurs normaux sont déjà normalisés, le mélange de vertex n’est pas nécessaire et les matrices de transformation sont orthogonales.

Tous les calculs d’éclairage sont effectués dans l’espace du modèle en transformant la position et la direction de la source de lumière, ainsi que la position de la caméra, en modélisant l’espace à l’aide de l’inverse de la matrice mondiale. Par conséquent, si les matrices du monde ou de la vue introduisent une mise à l’échelle non uniforme, l’éclairage résultant peut être incorrect.

Dans cette section

Rubrique Description

Éclairage ambiant

L’éclairage ambiant fournit un éclairage constant pour une scène. Il allume tous les sommets d’objet de la même façon, car il ne dépend pas d’autres facteurs d’éclairage tels que les normales de vertex, le sens de la lumière, la position de la lumière, la portée ou l’atténuation. L’éclairage ambiant est constant dans toutes les directions et il colore tous les pixels d’un objet de la même façon. Il est rapide à calculer, mais laisse des objets à l’aspect plat et irréaliste.

Éclairage diffus

L’éclairage diffus dépend à la fois de la direction de la lumière et de la surface de l’objet normale. L’éclairage diffus varie sur la surface d’un objet en raison de la modification de la direction de la lumière et du vecteur numaire de surface changeant. Le calcul de l’éclairage diffus prend plus de temps, car il change pour chaque vertex d’objet, mais l’avantage de l’utiliser est qu’il nuance les objets et leur donne une profondeur en trois dimensions (3D).

Éclairage spéculaire

L’éclairage spéculaire identifie les mises en évidence spéculaires brillantes qui se produisent lorsque la lumière atteint la surface d’un objet et se reflète vers l’appareil photo. L’éclairage spéculaire est plus intense que la lumière diffuse et tombe plus rapidement sur la surface de l’objet. Il faut plus de temps pour calculer l’éclairage spéculaire que l’éclairage diffus, mais l’avantage de son utilisation est qu’il ajoute des détails significatifs à une surface.

Éclairage émissif

L’éclairage émissif est la lumière émise par un objet ; par exemple, une lueur. L’émission fait apparaître un objet rendu comme auto-lumineux. L’émission affecte la couleur d’un objet et peut, par exemple, rendre un matériau sombre plus lumineux et prendre une partie de la couleur émise.

Transformations de l’espace de caméra

Les sommets dans l’espace de la caméra sont calculés en transformant les sommets d’objet avec la matrice de vue du monde.

Atténuation et facteur de point lumineux

Les composants d’éclairage diffus et spéculaire de l’équation d’éclairage global contiennent des termes qui décrivent l’atténuation de la lumière et le cône de projecteur.

 

Lumières et matériaux