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 ».
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.
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
- 2000 : Jet Set Radio, Fear Effect, Fur Fighters
- 2001 : Fear Effect 2: Retro Helix, Atlantide, l'empire perdu
- 2002 : Auto Modellista, Taz Wanted, Cel Damage
- 2003 : Dark Chronicle, Jet Set Radio Future, The Legend of Zelda: The Wind Waker, XIII, Zone of the Enders: The 2nd Runner, The Simpsons: Hit and Run, Dragon Ball Z: Budokai (version GameCube), Dragon Ball Z: Budokai 2, Runaway: A Road Adventure, Drake of the 99 Dragons
- 2004 : Tales of Symphonia, Viewtiful Joe, Viewtiful Joe 2, Warsow (projet Open Source), Dragon Ball Z: Budokai 3 , Jackie Chan Adventures
- 2005 : Killer7, Tony Hawk's American Sk8land, Sly 3, Dragon Ball Z: Budokai Tenkaichi, Naruto: GekitĆ Ninja Taisen! 4, Metal Gear Acid 2 (version PSP)
- 2006 : Digimon Savers: Another Mission, Dragon Quest VIII, Ćkami, Sensible Soccer 2006, Dragon Ball Z: Budokai Tenkaichi 2
- 2007 : Crackdown, Les Simpson, le jeu, Naruto: Rise of a Ninja, Dragon Ball Z: Budokai Tenkaichi 3, Zack et Wiki : le Trésor de Barbaros, The Legend of Zelda: Phantom Hourglass
- 2008 : Tales of Vesperia, No More Heroes, Street Gears, Naruto: The Broken Bond, Prince of Persia
- 2009 : The Legend of Zelda: Spirit Tracks, Tales of Graces, Borderlands
- 2010 : Alice au pays des merveilles (version DS), Dragon Quest IX : Les Sentinelles du firmament, Tales of Graces f, Ni no Kuni
- 2011 : Tales of Xillia
- 2012 : Gravity Rush, Borderlands 2, The Walking Dead
- 2013 : Call of Juarez: Gunslinger, The Wolf Among Us
- 2014 : Borderlands: The Pre-Sequel
- 2017 : The Legend of Zelda: Breath of the Wild, Rime (jeu vidéo), Fortnite : Battle royale
- 2019 : Borderlands 3.
- 2020 : Hyrule Warriors : L'Ăre du FlĂ©au.
- 2023 : Hi-Fi Rush, The Legend of Zelda: Tears of the Kingdom.
Films
Séries télévisées
- 1999-2000 : Télétoon Advance
- 2001-2002 : Pecola
- 2001 : Molly, Star-Racer
- 2002-2003 : Les Vacances de Piwi
- 2002-en production : One Piece
- 2002-en production : Pokémon, la série
- 2003-2006 : Boo!
- 2003-2004 : Midnight Horror School
- 2006 : Ćban, Star-Racers
- 2006-2013 : Manny et ses outils
- 2006-2007 : Z-Squad
- 2009-en production : Pretty Cure
- 2009-2010 : Bunny Maloney
- 2010-2011 : J'apprends la langue des signes avec Bali