Formules mathématiques d’éclairageMathematics of lighting

Le modèle d’éclairage Direct3D prend en charge les éclairages ambiant, diffus, spéculaire et émissif.The Direct3D Light Model covers ambient, diffuse, specular, and emissive lighting. La souplesse de la configuration permet de résoudre de nombreuses situations d’éclairage.This is enough flexibility to solve a wide range of lighting situations. Dans une scène, la quantité globale d’éclairage s’appelle l’illumination globale.The total amount of light in a scene is called the global illumination.

L’illumination globale est calculée comme suit :The global illumination is computed as follows:

global_illumination = ambient_lighting + diffuse_lighting + specular_lighting + emissive_lighting;

L’éclairage ambiant est une valeur constante.Ambient lighting is constant lighting. L'éclairage ambiant est constant dans toutes les directions et colore tous les pixels d’un objet de la même façon.Ambient lighting is constant in all directions and it colors all pixels of an object the same. Il présente une grande rapidité de calcul, mais donne aux objets un aspect plat et irréaliste.It is fast to calculate but leaves objects looking flat and unrealistic.

L'éclairage diffus dépend de la direction de la lumière et de la surface de l’objet.Diffuse lighting depends on both the light direction and the object surface normal. L’éclairage diffus varie à la surface d’un objet, en réponse aux modifications de la direction d’éclairage et du vecteur numéral à la surface.Diffuse lighting varies across the surface of an object as a result of the changing light direction and the changing surface numeral vector. Le calcul de l’éclairage diffus prend davantage de temps, car cette valeur varie pour chaque vertex d’objet. Parallèlement, il permet de nuancer l’illumination des objets et de leur octroyer une profondeur en 3 dimensions.It takes longer to calculate diffuse lighting because it changes for each object vertex, however the benefit of using it is that it shades objects and gives them three-dimensional (3D) depth.

L'éclairage spéculaire identifie les points spéculaires lumineux qui apparaissent lorsque la lumière atteint la surface de l’objet et la reflète vers l’appareil photo.Specular lighting identifies the bright specular highlights that occur when light hits an object surface and reflects back toward the camera. L’éclairage spéculaire est plus intense que la lumière diffuse et tombe plus rapidement sur la surface de l’objet.Specular lighting is more intense than diffuse light and falls off more rapidly across the object surface. Le calcul de l’éclairage spéculaire prend plus de temps que celui de l’éclairage diffus. Toutefois, le fait de l’utiliser permet d’ajouter des informations importantes sur une surface.It takes longer to calculate specular lighting than diffuse lighting, however the benefit of using it is that it adds significant detail to a surface.

L'éclairage émissif est la lumière émise par un objet ; par exemple, un éclat.Emissive lighting is light that is emitted by an object; for example, a glow. Sous l’effet de l’émission, l’objet rendu paraît lumineux par lui-même.Emission makes a rendered object appear to be self-luminous. L’émission affecte la couleur d’un objet et peut, par exemple, procurer de la brillance à un matériau sombre et assurer une partie de la couleur émise.Emission affects an object's color and can, for example, make a dark material brighter and take on part of the emitted color.

Un éclairage réaliste peut être obtenu en appliquant chacun de ces types d’éclairage sur une scène 3D.Realistic lighting can be accomplished by applying each of these types of lighting to a 3D scene. Les valeurs calculées pour les composants ambiants, émissifs et diffus sont produites en tant que couleur diffuse de vertex, tandis que la valeur associée au composant d’éclairage spéculaire est produite en tant que couleur spéculaire de vertex.The values calculated for ambient, emissive, and diffuse components are output as the diffuse vertex color; the value for the specular lighting component is output as the specular vertex color. Les valeurs d’éclairage ambiant, diffus et spéculaire peuvent être affectées par l’atténuation et le facteur de point lumineux d’un éclairage donné.Ambient, diffuse, and specular light values can be affected by a given light's attenuation and spotlight factor. Voir Atténuation et facteur de point lumineux.See Attenuation and spotlight factor.

Pour obtenir un effet d’éclairage plus réaliste, vous ajoutez davantage de lumières ; toutefois, ici, le rendu de la scène prend plus de temps à s’afficher.To achieve a more realistic lighting effect, you add more lights; however, the scene takes longer to render. Pour concrétiser tous les effets voulus par un concepteur, certains jeux sollicitent une puissance CPU supérieure à la valeur généralement disponible.To achieve all the effects a designer wants, some games use more CPU power than is commonly available. Dans ce cas, il est courant de réduire le nombre de calculs d’éclairage au minimum, via l’utilisation de mappages d’éclairage et de mappages d’environnement. Cette configuration permet d’ajouter de l’éclairage à une scène durant l’application des mappages de textures.In this case, it is typical to reduce the number of lighting calculations to a minimum by using lighting maps and environment maps to add lighting to a scene while using texture maps.

L’éclairage est calculé dans l’espace de la caméra.Lighting is computed in the camera space. Voir Transformations de l’espace de caméra.See Camera space transformations. L’éclairage optimisé peut être calculé dans l’espace du modèle, quand des conditions spéciales sont réunies : les vecteurs normaux sont déjà normalisés, aucune fusion des vertex n’est nécessaire et les matrices de transformation sont orthogonales.Optimized lighting can be computed in model space, when special conditions exist: normal vectors are already normalized, vertex blending is not needed, and transformation matrices are orthogonal.

L’ensemble des calculs d’éclairage sont exécutés dans l’espace du modèle, par la transformation de la position et de la direction de la source d’éclairage, mais aussi par l’ajustement de la position de la caméra. Ainsi, l’espace est modélisé via la transposition inverse de la matrice universelle.All lighting computations are made in model space by transforming the light source's position and direction, along with the camera position, to model space using the inverse of the world matrix. En conséquence, si les matrices universelle ou d’affichage introduisent une mise à l’échelle non uniforme, l’éclairage obtenu peut se révéler inexact.As a result, if the world or view matrices introduce non-uniform scaling, the resultant lighting might be inaccurate.

Dans cette sectionIn this section

RubriqueTopic DescriptionDescription

Éclairage ambiantAmbient lighting

L'éclairage ambiant permet de donner à une scène un éclairage constant.Ambient lighting provides constant lighting for a scene. Cette fonction permet d'éclairer tous les vertex d'objets de la même manière car elle ne dépend pas des autres facteurs d'éclairage, comme les normales de vertex, la direction de la lumière, la position de la lumière, la plage ou l'atténuation.It lights all object vertices the same because it is not dependent on any other lighting factors such as vertex normals, light direction, light position, range, or attenuation. L'éclairage ambiant est constant dans toutes les directions et colore tous les pixels d’un objet de la même façon.Ambient lighting is constant in all directions and it colors all pixels of an object the same. Il présente une grande rapidité de calcul, mais donne aux objets un aspect plat et irréaliste.It is fast to calculate but leaves objects looking flat and unrealistic.

Diffuse l’éclairageDiffuse lighting

L'éclairage diffus dépend de la direction de la lumière et de la surface de l’objet.Diffuse lighting depends on both the light direction and the object surface normal. L’éclairage diffus varie à la surface d’un objet, en réponse aux modifications de la direction d’éclairage et du vecteur numéral à la surface.Diffuse lighting varies across the surface of an object as a result of the changing light direction and the changing surface numeral vector. Le calcul de l’éclairage diffus prend davantage de temps, car cette valeur varie pour chaque vertex d’objet. Parallèlement, il permet de nuancer l’illumination des objets et de leur octroyer une profondeur en 3 dimensions.It takes longer to calculate diffuse lighting because it changes for each object vertex, however the benefit of using it is that it shades objects and gives them three-dimensional (3D) depth.

Éclairage spéculaireSpecular lighting

L'éclairage spéculaire identifie les points spéculaires lumineux qui apparaissent lorsque la lumière atteint la surface de l’objet et la reflète vers l’appareil photo.Specular lighting identifies the bright specular highlights that occur when light hits an object surface and reflects back toward the camera. L’éclairage spéculaire est plus intense que la lumière diffuse et tombe plus rapidement sur la surface de l’objet.Specular lighting is more intense than diffuse light and falls off more rapidly across the object surface. Le calcul de l’éclairage spéculaire prend plus de temps que celui de l’éclairage diffus. Toutefois, le fait de l’utiliser permet d’ajouter des informations importantes sur une surface.It takes longer to calculate specular lighting than diffuse lighting, however the benefit of using it is that it adds significant detail to a surface.

Éclairage émissifEmissive lighting

L'éclairage émissif est la lumière émise par un objet ; par exemple, un éclat.Emissive lighting is light that is emitted by an object; for example, a glow. Sous l’effet de l’émission, l’objet rendu paraît lumineux par lui-même.Emission makes a rendered object appear to be self-luminous. L’émission affecte la couleur d’un objet et peut, par exemple, procurer de la brillance à un matériau sombre et assurer une partie de la couleur émise.Emission affects an object's color and can, for example, make a dark material brighter and take on part of the emitted color.

Transformations d’espace de caméraCamera space transformations

Les vertex dans l’espace de caméra sont calculés en transformant les vertex de l’objet avec la matrice globale.Vertices in the camera space are computed by transforming the object vertices with the world view matrix.

Facteur d’atténuation et spotlightAttenuation and spotlight factor

Les composants d’éclairage diffus et spéculaire de l’équation d'illumination globale contiennent des termes qui décrivent l’atténuation de lumière et le cône de point lumineux.The diffuse and specular lighting components of the global illumination equation contain terms that describe light attenuation and the spotlight cone.

 

Rubriques connexesRelated topics

Lumières et des documentsLights and materials