Les lissages Plat, Gouraud et Phong - Éclairage dans les jeux vidéo

Les lissages Plat, Gouraud et Phong

Dans notre série sur l’éclairage des jeux vidéos en temps réel voici quelques mots sur les méthodes de lissages de polygones, que l’on peut résumer par la méthode plate ou à facette - flat shading en Anglais -, la méthode de Gouraud - gouraud shading en Anglais, et la méthode de Phong - phong shading.

Flat Shading

À une époque lointaine du graphisme sur ordinateur les opérations de remplissage étaient très couteuses en cycles de processeurs. C’était l’époque où les graphismes étaient encore une niche de l’informatique, les calculs étaient réalisés sur des mainframes, gros ordinateurs centraux reliés à des terminaux, coûteux et dont les cycles CPUs étaient littéralement partagés par plusieurs chercheurs de manière parsimonieuse.

Pendant longtemps donc la méthode privilégiée pour remplir des polygones à l’écran (s’il y a avait un écran capable d’afficher des pixels), était de les remplir uniformément de la même couleur partout ce qui permettait de limiter les opérations mathématiques nécessaires pour l’opération.

En pseudo code ça pourrait donner cela :

pour chaque triangle
calculer la couleur C du triangle
pour chaque pixel(X,Y) appartenant au triangle
couleur du pixel (X,Y) = C

La manière dont la couleur C est calculée est peu importante. Elle pourrait avoir été déterminé par un artiste et entrée manuellement, ou elle pourrait être calculée avec un calcul d’éclairage plus ou moins précis mais unique par triangle.

Voici une illustration du flat shading dans une scène simple :

Malgré son vénérable âge, la méthode de l’ombrage plat peut-être encore utilisée aujourd’hui. Dans le domaine du jeu vidéo, les puissances relatives des machines, même si des ordres de magnitude plus grandes que celles des mainframes où les premiers graphismes étaient calculés, n’ont pas toujours été capable de faire un grand nombre de calculs suffisants pour remplir tout un écran avec une vitesse d’affichage suffisante. On parle d’interactivité quand la vitesse d’affichage de chaque image est entre 10 images par seconde jusqu’à idéalement 60 images par seconde ou plus.

Les premiers jeux vidéos qui utilisaient des rendus polygonaux - par opposition au rendu bitmap ou basé sur des images déjà rendues en mémoire - ont donc souvent utilisé les méthodes des premiers graphismes off line, c’est à dire un rendu à base de lignes simples - fil de fer ou wire frame en anglais - ou un rendu facetté plat.

Rendu Fil de Fer de Atari BattleZone
Rendu Fil de Fer de Atari BattleZone

Ombrage de quads plats par Sega Virtua Fighter
Ombrage de quads plats par Sega Virtua Fighter

Aujourd’hui ces méthodes sont en partie rendues obsolètes par la puissance exponentielle des processeurs - notamment des accélérateurs 3D qui dominent le rendu des jeux contemporains. Mais il n’est pas exclu qu’un jeu ici et là décide de faire le choix artistique d’un rendu rétro à base de facettes ou de fils de fer uniquement parce que cela colle à l’atmosphère que les designers souhaitent donner au jeu. Rien n’exclut par ailleurs de faire un rendu qui ressemble à un rendu facetté mais avec en sous-main des algorithmes d’éclairage modernes loin de ce qu’aurait pu faire les jeux anciens qui sont pris comme référence.

Comments

Leave your comment