Lightmap

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche

Une lightmap (litt. « texture de lumière », de l'anglais map pour « texture plaquée» et light pour « lumière ») est une texture contenant une information de lumière.

L'affichage d'image en 3D temps réel impose des contraintes importantes sur la rapidité de calcul. L'un des calculs les plus complexes étant celui de la lumière, les créateurs de jeux vidéo ont eu l'idée de calculer cette information une fois pour toutes et de la stocker dans une texture. Cette texture sera généralement utilisée comme multiplicateur sur la texture de matière. Ainsi, les deux textures seront mixées ensemble selon la luminosité et la couleur de la lightmap pour former ainsi la texture définitive (réelle).

L'information de lumière étant figée, il devient impossible avec cette technique de modifier les paramètres de la lumière. Cela permet des ombres très détaillées (par exemple lorsque des sources lumineuses sont placées derrière des grilles, chaque maille possède son ombre projetée), mais les lumières sont alors statiques et il est impossible d'avoir des effets post-traitement comme ceux des flammes, sauf en introduisant à nouveau des lumières dynamiques coûteuses en ressources et bien plus générales.

Exemple de lightmap.

Cette technique a longtemps été employée dans beaucoup de moteurs de jeux vidéo (tels que Source - utilisé pour Counter-Strike[1] - ou encore, Cube 2 Engine pour ne citer qu'eux).

Il est important de noter que si, généralement, les lightmap sont pré-calculées, ceci n'est en rien une obligation ! En outre, leur résolution est souvent gérée par un paramètre global. Il s'agit généralement d'une notion d'échantillonnage (généralement inférieur) par rapport aux texels des textures de l’environnement. Elles n'ont donc pas nécessairement la même résolution que les textures sur lesquelles elles seront appliquées ce qui peut engendrer des artéfacts graphiques (typiquement, un crénelage visible des ombrages). Le processus de "mixage" des textures et de leurs lightmaps étant gourmand en termes de temps (de calculs et de ressources matérielles), ceci est un facteur d'ajustement du ratio qualité/performances.

Références[modifier | modifier le code]