AccueilđŸ‡«đŸ‡·Chercher

Ombrage de celluloĂŻd

L'ombrage de celluloïd[1], ou ses anglicismes cel-shading et toon-shading, est un modÚle d'éclairage non photoréaliste utilisé en synthÚse d'image. Il permet de créer des images à l'aspect « cartoon ».

Rendu conventionnel à gauche, et ombrage celluloïd à droite, du scaphandre spatial d'On a marché sur la Lune.

Graphiquement, le rendu se caractĂ©rise par des contours marquĂ©s et une palette de couleurs rĂ©duite, comme dans les dessins animĂ©s traditionnels, d'oĂč la rĂ©fĂ©rence aux celluloĂŻdes. On emploie Ă©galement souvent le terme « cartoon » pour dĂ©signer cette technique. Les mimiques des personnages sont gĂ©nĂ©ralement exagĂ©rĂ©es pour accompagner le style dessin-animĂ©, mais cela n'est pas une obligation.

Dans le cas du jeu XIII, on attribue l'emploi de l'ombrage de celluloïd au rendu « bande dessinée » ou « dessin-animé ».

La rĂ©vĂ©lation commerciale de cette technique revient Ă  Sega, avec le jeu Jet Set Radio sorti en 2000. Certains attribueraient l'invention de cette technique au jeu Super Mario World 2: Yoshi's Island , de Nintendo, en raison de l'Ă©cran d'accueil qui reprĂ©sente une Ăźle en 3D et dont les diffĂ©rents Ă©lĂ©ments sont entourĂ©s d'un contour noir fort marquĂ©, ce qui peut ĂȘtre remis en cause Ă©tant donnĂ© que le reste du jeu est en 2D alors que cette technique est intimement liĂ©e Ă  l'Ă©clairage dynamique d'objets 3D. Plus rĂ©cent, Crackdown de Real Time Worlds apporte un croisement entre rĂ©alitĂ© et bande dessinĂ©e. Le but de cette technique est d'obtenir un rendu diffĂ©rent mais aussi parfois d'Ă©conomiser la puissance de traitement des textures, qui alors sont souvent absentes.

Aujourd'hui, le cel-shading est aussi un style de dessin numĂ©rique inspirĂ© de l'animation elle-mĂȘme.

Techniques de l'ombrage de celluloïd pour la 3D temps réel

Il existe diffĂ©rentes mĂ©thodes permettant d'obtenir un ombrage de celluloĂŻd en 3D temps rĂ©el. Certaines de ces mĂ©thodes utilisent les fonctions de bases prĂ©sentes sur toutes les cartes graphiques, tandis que d'autres font appel Ă  des extensions disponibles uniquement sur les cartes rĂ©centes, comme les pixels shaders. Toutes ces mĂ©thodes ont en commun l'addition de deux effets : le tracĂ© des contours du modĂšle 3D et le seuillage des ombres (c'est-Ă -dire le remplacement des ombres en dĂ©gradĂ©es par une succession de niveaux de gris). Ce mode de rendu, bien que diminuant le rĂ©alisme, est donc plus coĂ»teux en ressources (aussi bien CPU que GPU) qu'un affichage basique car les objets doivent ĂȘtre rendus en plusieurs Ă©tapes.

Exemple d'ombrage de celluloïd en trois étapes : contours, texture de base, puis seuillage des ombres.

Exemple d'ombrage de celluloïd en trois étapes : contours, texture de base, puis seuillage des ombres.

Tracé des contours

Deux mĂ©thodes permettent de tracer les contours d'un objet 3D. La premiĂšre consiste Ă  n'afficher que les contours des faces arriĂšre de l'objet sous forme de traits noirs Ă©pais. L'affichage des faces arriĂšre est gĂ©rĂ© par la carte graphique, en inversant simplement le back-face culling (« calcul du vu et du cachĂ© », fonction d'optimisation permettant de ne dessiner que les faces avant d'un objet dans un rendu 3D normal). Lorsque cette Ă©tape est terminĂ©e, l'objet doit alors ĂȘtre rĂ©affichĂ© normalement pour que les faces arriĂšre prĂ©cĂ©demment affichĂ©s ressortent comme des contours. Cette mĂ©thode a l'avantage d'ĂȘtre simple Ă  mettre en Ɠuvre, mais son inconvĂ©nient majeur est de donner l'illusion que les contours grossissent quand l'objet s'Ă©loigne. En rĂ©alitĂ©, c'est l'Ă©paisseur des lignes qui reste constante.

Le tracĂ© des contours peut Ă©galement ĂȘtre rĂ©alisĂ© en utilisant deux objets 3D quasiment identiques : l'objet lui-mĂȘme et son enveloppe (qui ne peut pas ĂȘtre créée par un simple agrandissement du premier). Les contours s'obtiennent alors en affichant les faces arriĂšre de l'enveloppe, en noir, puis par affichage de l'objet. Comme l'enveloppe est lĂ©gĂšrement plus grande que l'objet, elle est visible sur ses bords. Cette mĂ©thode, utilisĂ©e dans le jeu XIII, crĂ©e des contours plus prĂ©cis que la prĂ©cĂ©dente, sans grossissement avec l'Ă©loignement, mais elle demande plus de mĂ©moire pour stocker l'objet et son enveloppe.

Seuillage des ombres

Lors de cette Ă©tape, les faces avant de l'objet sont affichĂ©es sans ĂȘtre soumises Ă  l'Ă©clairage, ce qui supprime les ombres et donne Ă  la texture de l'objet une luminositĂ© maximale. Cette texture doit possĂ©der deux couches : la premiĂšre contient la texture de l'objet ; la deuxiĂšme contient les niveaux de gris permettant le seuillage des ombres. Cette deuxiĂšme couche est semi-transparente, elle se superpose donc Ă  la texture originale de l'objet. Les coordonnĂ©es de texture de la premiĂšre couche sont fixes, tandis que les coordonnĂ©es de la deuxiĂšme couche sont recalculĂ©es Ă  chaque image. Pour chaque sommet de l'objet, la coordonnĂ©e de la deuxiĂšme texture dĂ©pend de l'angle formĂ© par le vecteur normal au sommet et le vecteur de la lumiĂšre. Si l'angle vaut 180°, alors le sommet est Ă©clairĂ© par un rayon venant de face, donc on placera la coordonnĂ©e de texture pour ce sommet sur un niveau de gris maximal : blanc (donc transparent). Si l'angle vaut 90° alors la lumiĂšre est 'rasante', sans effet sur l'objet, on placera donc la coordonnĂ©e de texture sur du noir. Entre ces deux extrĂȘmes apparaissent alors les diffĂ©rents niveaux de gris produisant l'effet d'ombre seuillĂ©e.

Exemple de texture utilisée pour créer les ombres.

Cette mĂ©thode utilise une texture Ă  plusieurs niveaux, ce qui suppose la prĂ©sence sur la carte graphique d'une extension adaptĂ©e (comme GL_ARB_multitexture en OpenGL). Il est possible de contourner cette extension en affichant l'objet en deux Ă©tapes : d'abord l'objet avec sa texture, puis le mĂȘme objet mais uniquement avec la texture des niveaux de gris (semi-transparente). L'inconvĂ©nient est que la division en deux passes augmente le temps de calcul.

Utilisation des pixels shaders

Sur les cartes graphiques rĂ©centes et suffisamment puissantes, les pixels shaders peuvent ĂȘtre utilisĂ©s pour l'ombrage de celluloĂŻd. Si leur utilisation libĂšre le CPU de certains calculs (voir mĂ©thodes prĂ©cĂ©dentes), elle est cependant gourmande en ressource GPU. En effet, le seuillage et le tracĂ© des contours nĂ©cessite des calculs pour chaque pixel de l'image, alors que les mĂ©thodes sans shaders travaillent uniquement sur les sommets de l'objet, beaucoup moins nombreux. Le seuillage des ombres est rĂ©alisĂ© par un fragment shader. La luminositĂ© de chaque fragment (pixel) dĂ©pend de l'angle entre la lumiĂšre et la normale au point considĂ©rĂ©.

Jeux caractéristiques

Films

Séries télévisées

Notes et références

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.