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.