Home

Le style dans le rendu non-photor´ealiste de - Maverick

image

Contents

1. 1 4 Organisation du document 1 5 Vocabulaire 3 34 p 043528 Rides a a E ree inde an 2 tat de l art 2 1 Contexte g n ral 2 1 1 Les r gions 4 4 Leu ass ER Re dau die as Ba dre 2 1 2 Les lignes caract ristiques 2 2 D tection analytique de lignes caract ristiques 2 2 1 Espace image 2 2 2 Espace objet 2 2 3 Informations visibilit 2 3 Construction de traits et affectation d attributs 2 3 1 _ Cha nage des ar tes caract ristiques 2 3 2 Artefacts de param trisation 2 3 3 Rendu des marques 2 4 Contr le du style en rendu non photor aliste 2 4 1 Les solutions commerciales 2 4 2 Les travaux de recherche 3 Mod lisation de style owl Observation 4 82414 se Ba Dia SR ae da Se Eee CRUE amp a ait 3 2 Attributs d style se gi duos da 4 4 te ey Sal a ha mu 3 2 1 Bas niveau 3 2 2 Haut niveau sy te Go oe ee oa dy a Gace GP oe ee ee oo 3 3 Informations 4 4 2 ae SD ete du ana eR Bone
2. 2 9 Rendu de sc nes 3D l aide de hachures 2 6 Natures des lignes d finition d une silhouette 2 7 Natures des lignes contour et silhouette 2 8 Types des lignes cr tes et vall es 2 9 Courbure radiale o os a discs 4 4 dus i u bu aus Bts a eau 2 10 Rendu direct de silhouettes 2 11 Rendu direct de silhouettes utilisation d une texture d environnement 2 12 Rendu analytique de lignes sch ma de fonctionnement g n ral 2 13 D tection de lignes caract ristiques G buffers 2 14 2 15 Approximation polygonale des silhouettes Sph re de l are a de a a ek Ga we ee a ae 2 16 Cones ancr s s sa 44444444 eee 2 17 Silhouettes lisses vs approximation polygonale 2 18 Points de changement de visibilit jonctions en T et en Y et cusps 2 19 D tection des points de rebroussement 2 20 Segments de silhouette 2 21 Rendu de traits artefacts des cha nes polygonales de silhouette 2 22 Rendu de traits correction d
3. 2 4 Contr le du style en rendu non photor aliste 51 Style template Edition k phase Feature edges Strokes and information Attributes FIG 2 34 Rendu stylis les approches mixtes Les approches mixtes combinent la fois les approches interactives au travers d une phase d dition A et les approches automatiques travers une phase de rendu automatique B Dans ce type d approches il faut premi rement d terminer la forme sous laquelle le mod le de style sera stock et deuxi mement d cider de comment ce mod le de style sera sp cifi par l utilisateur Nous nous int ressons aux diff rentes techniques existantes et envi sageables pour la phase d dition Phase d dition Dans le cadre du NPR une seule approche a jusqu ici t envisag e pour cette phase d dition l approche statistique Approches statistiques Le domaine de recherche de l apprentissage Machine Lear ning qui s est consid rablement d velopp ces derni res ann es est particuli rement popu laire en NPR et semble s imposer comme la technique appropri e pour un certain nombre d applications En particulier les recherches dans le domaine de la capture de style fondent Vespoir que le Machine Learning saura capturer mieux m me que l humain l essence d un style Avec ce type d approches l utilisateur fournit un certain nombre d exemples qui per mettent au syst me d appren
4. 6 1 Introduction 6 2 Travaux ant rieurs 6 3 Vue d ensemble de l approche 6 4 Densit a priori 6 4 1 Un estimateur de la densit de lignes 83 83 83 85 88 88 89 92 97 99 100 100 103 108 108 109 110 111 111 112 6 4 2 Cartes de densit a priori 6 4 3 La densit en fonction de l espace de l chelle et de l orientation 6 5 Densit causale 6 5 1 Un estimateur de densit de traits 6 5 2 Causalit et ordonnancement des traits 6 5 3 Omission de traits densit et r gularit 6 6 Applications et r sultats 7 R sultats 7 1 Code source de r gles de style 7 1 1 Fonctions 7 1 2 Pr dicats 7 1 3 It rateurs de cha nage 7 14 Shaderd 7 2 Style simple 7 2 1 Premier module de style lignes de construction 7 2 2 Deuxi me module de style contour ext rieur calligraphique 7 2 3 Troisi me module de style lignes visibles int rieures 7 2 4 Application d autres mod
5. c d FIG 3 8 La topologie des traits un chemin dans le graphe de vue a Un mod le 3D torus knot b Le graphe de vue qui d finit son apparence topologique sous le point de vue consid r c et d Deux chemins diff rents de ce graphe On appelle topologie d un trait le chemin suivi par ce dernier dans le dessin D un point de vue plus pratique si l on consid re le graphe planaire form par l ensemble des lignes dessiner c est le chemin suivi par le trait dans ce graphe qu on appelle la topologie du trait cf figure 3 8 Cette topologie refl te la d cision de l artiste de commencer et de terminer son trait en tel ou tel point ainsi que de le poursuivre selon tel ou tel ligne C est une caract ristique remarquable du style d un artiste en particulier lorsque l outil ou le medium utilis impliquent d importantes variations d paisseur ou de couleur le long d un trac Lorsqu un ensemble de lignes connect es est trac l aide d un seul trait plut t que de plusieurs le r sultat a une apparence de continuit comme on peut le voir sur la figure 3 9 En effet le geste de l artiste les variations de pression induites l volution potentielle de la quantit de pigments le long du trac produisent une apparence caract ristique Ainsi deux repr sentations d une m me sc ne r alis es par deux artistes utilisant respectivement de longs et de courts tr
6. priori la structure algorithmique d un programme ne semble pas forc ment la plus adapt e d crire un style visuel Cette id e peut sembler d autant plus trange que les artistes ou les historiens de l art n tant g n ralement pas familiers des langages de programmation elle a t rarement envisag e Pourtant deux raisons semblent montrer qu il est somme toute relativement naturel de penser un style comme un programme Premi rement la repr sentation picturale est ais ment mod lisable sous la forme d un processus et un langage de programmation est tout d sign pour d crire un processus Deuxi mement comme on l a vu au chapitre I lorsqu on d crit un style de mani re g n rique c est dire en d passant ses effets pour analyser sa structure c est encore en des termes algorithmiques Et dans ce cas il est galement facile de transposer cette description en un programme Notre exp rience de ce sch ma d analyse de style nous a montr qu il tait en r alit simple et agr able d envisager un style comme un programme I aurait fallu r colter les avis d utilisateurs non initi s la programmation pour valider cette affirmation nous n avons ici encore malheureusement pas pu mener cette exp rience Est il facile de reproduire un style De mani re g n rale l tape la plus d licate dans le processus de reproduction d un style est la phase d analyse men e par l utilisateur
7. L intersection dans le plan de L avec la projection d une ligne de silhouette ou de bord celle ci se trouvant plus proche du point de vue que C On cr e alors un sommet sur C en re projetant le point d intersection trouv dans le plan image sur C Le sommet cr sur C correspond alors une jonction en T T Vertex Les jonctions en T sont illustr es par la figure 2 18 page 37 a Par d finition ces points correspondent des intersections dans le plan image et sont inclus dans l ensemble des sommets issus de l information d arrangement planaire des lignes L intersection en 3D sur la surface de C avec une ligne de silhouette Le sommet cr correspond alors une jonction en Y Les points correspondant des jonctions en Y peuvent galement mais pas n cessairement correspondre 4 un changement de nature de C Les sommets A et B de la figure 4 3 en sont une illustration Les points correspondant des jonctions en Y sont d j des extr mit s des courbes de C et ont d ja a ce titre donn lieu a la cr ation de sommets La pr sence d un point de rebroussement cusp sur C si C est une silhouette Les points de rebroussement doivent donc tre d tect s plusieurs techniques existent pour ce faire cf section 2 2 3 et donner lieu la cr ation de sommets du graphe de vue La figure 2 18 illustre ces points Objet
8. 6 4 1 Un estimateur de la densit de lignes Intuitivement la densit est d finie en un point donn et une chelle s comme la somme des longueurs des lignes incluses dans un cercle de rayon s normalis e par l aire de ce cercle Cette normalisation est importante pour assurer l ind pendance l chelle dans le cas de structures p riodiques Cette densit mesure une longueur par unit de surface Pour com prendre l effet de l chelle s consid rons une structure r guli re de lignes verticales Lorsque le rayon s augmente la longueur de chaque ligne dans le disque augmente lin airement et le nombre de lignes qui intersectent le disque augmente aussi lin airement L augmentation qua dratique qui en r sulte est compens e par la normalisation par l aire du disque et la densit est principalement ind pendante de s pour ce type de structures p riodiques En pratique nous calculons une moyenne avec pond ration spatiale l aide d un noyau gaussien de variance a Par ailleurs nous d couplons l information donn e par les diff rentes orientations et d finissons la densit pour une direction donn e en utilisant une fonction de pond ration wo sur la direction de la ligne La densit d un ensemble de lignes en un point Q pour une chelle o et une orientation u est alors Qoi f wal P Q 0 wo P i dl 6 1 PEL o wg est la fonction gaussienne circulaire normalis e d cart type o P Q 0
9. Chet S Haase and Gary W Meyer Modeling pigmented materials for realistic image synthesis ACM Trans Graph 11 4 305 335 1992 D Hekmatzada J Meseth and R Klein Non photorealistic rendering of com plex 3d models on mobile devices In 8th Annual Conference of the International Association for Mathematical Geology volume 2 pages 93 98 Alfred Wegener Stiftung September 2002 Aaron Hertzmann Nuria Oliver Brian Curless and Steven M Seitz Curve analogies In EGRW 02 Proceedings of the 13th Eurographics workshop on Rendering pages 233 246 Eurographics Association 2002 222 BIBLI HS99b HSS02 HZ00 THS02 IMT99 JEGPO02 J M89 JWY02 KDMF03 KKL 00 KMM 09 KMN 99 K 84 KSC 01 LC87 Lee99 LMHB00 J Hamel and T Strothotte Capturing and re using rendition styles for non photorealistic rendering Computer Graphics Forum 18 3 173 182 September 1999 Halper Schlechtweg and Strothotte Creating non photorealistic images the designer s way In Proc NPAR 2002 A Hertzmann and D Zorin Illustrating smooth surfaces Proc SIGGRAPH 2000 Tobias Isenberg Nick Halper and Thomas Strothotte Stylizing Silhouettes at Interactive Rates From Silhouette Edges to Silhouette Strokes Computer Graphics Forum Proceedings of Eurographics 21 3 249 258 September 2002 T Igarashi S Matsuoka and H Tanaka Teddy A sketching interface for 3d
10. D une mani re g n rale cette information permet de prendre des d cisions impliquant l orientation des surfaces aux points par lesquels un trait passe En utilisant la moyenne il est par exemple possible de s lectionner les traits qui correspondent des lignes trac es sur des surfaces dont l orientation moyenne en ces points est dans un certain angle solide De la m me mani re en analysant l information fournie par les op rations min max composante par composante il est possible de s lectionner les traits correspondant des surfaces dont l orientation est garantie appartenir un certain angle solide Normales 2D Moyenne Maximum Minimum Union Continu J J X Discontinu J J x L utilisation de cette information est similaire a celle des normales 3D Courbures 2D Moyenne Maximum Minimum Union Continu J J xX Discontinu J y X Pour cette information la moyenne le minimum et le maximum permettent de s lectionner les traits dont la courbure moyenne respectivement minimum et maximum est dans un intervalle donn 106 Nature des ar tes Moyenne Maximum Minimum Union Continu X X 1 Discontinu X X V Dans le cas discontinu l union des natures des diff rentes ar tes pr sentes dans un trait peut permettre de d terminer si ce trait appartient au moins par l un de ses segments une famille de traits On peu
11. Discontinuit en profondeur contour des arri re plans Sur cette illustration on voit que les diff rents plans du fond sont chacun d tour s par un contour unique Tous les points de ce contour sont une distance similaire du point de vue et pr sentent une forte discontinuit en profondeur Ainsi la r gle de construction de chacun de ces traits de contour s appuie notamment sur la discontinuit en profondeur Franquin 1952 Dupuis Fra52 Surfaces cach es Si comme on vient de le voir la distance l objet cach repr sente une information souvent exploit e dans la mise en style d un dessin l identit m me de cet objet peut tre une information int ressante et plus particuli rement en illustration technique En effet il arrive qu un l ment d un assemblage soit mis en valeur en omettant l ensemble des lignes des objets se trouvant entre cet l ment et le point de vue Lors du dessin d une ligne il convient dans 76 chapitre 3 Mod lisation de style ce cas de se poser la question de savoir si cette ligne d limite une portion d un objet cachant V l ment int ressant de mani re d cider de son limination ventuelle L information dont il faut disposer est donc pour chaque ligne la liste des surfaces cach es Cette technique est illustr e par la figure 3 23 FIG 3 23 Informations surfaces cach es Les lignes qui contribuaient cacher des parties du syst me de f
12. 2 4 2 Les travaux de recherche Les techniques de recherche que nous avons vues jusqu pr sent constituent les briques de base pour un rendu stylis Dans le pipeline g n ral que nous avons identifi pour ce type de rendu la mise en style intervient plus particuli rement deux niveaux la construction des traits partir des ar tes caract ristiques et l affectation des attributs ces traits C est pendant la construction des traits que l on d cide de leur topologie que l on d cide galement d en omettre certains et c est avec l affectation des attributs que ces traits sont pourvus d une apparence visuelle particuli re Les travaux que nous pr sentons dans cette section s int ressent au style dans le rendu NPR La plupart de ces travaux peuvent tre regroup s en deux cat gories celle des approches automatiques et celle des approches interactives Apr s avoir d crit chacune de ces cat gories nous pr senterons une alternative cette approche et expliquerons o nous voulons que notre propre application se situe Nous rappelons que la notion de style englobe ici uniquement les syst mes de primitives et d attributs cf section 1 3 Nous renvoyons le lecteur int ress par la stylisation du syst me spatial aux travaux de Singh et al Sin02 SGS04 CS04 et de Yu et al YM04 Les approches automatiques Avec une approche automatique l utilisateur dispose d une b
13. a L paisseur du trait d crivant la silhouette de la sph re varie contintiment au travers des petites occultations b Dans cette image diff rents shaders utilisent deux param trisation distinctes pour contr ler les attributs l une couvre la totalit de la ligne de silhouette portions cach es incluses et l autre s pare et couvre les segments visibles de la silhouette Gauche la couleur et la g om trie varient selon la param trisation compl te tandis que l paisseur du trait varie selon la param trisation s appuyant sur les segments visibles Droite Gros plan sur la partie en bas droite de la sc ne dans laquelle nous avons ajout les parties cach es de la silhouette En comparant cette image avec l image de gauche on voit bien que le d tail g om trique sinusoidal traverse contintiment les parties invisibles d coupage et une s lection conservant uniquement les parties visibles des traits pour affecter l paisseur Une extension logique et int ressante du pipeline consisterait donc ajouter un op rateur shade prenant un shader en argument Il serait ainsi possible de manipuler des traits qui certains attributs auraient d j t assign s avant l tape de dessin L illustration de la fi gure 5 19 b par exemple pourrait tre r alis e l aide d une s quence simple d op rations incluant notamment des shaders modifiant les attributs de mani re relative Ainsi les sha d
14. a un segment donne Derive de UnaryPredicat0D class pyParameterUPOD UnaryPredicateOD Constructeur pmin valeur inferieure pour le segment He pmar valeur superieure pour le segment def __init__ self pmin pmax 7 2 Style simple 185 UnaryPredicate0D __init__ self self m pmin self M pmax Surcharge de l operateur iter Interface0DIterator def __call__ self iter return iter u gt self m and iter u lt self M Shaders Ce shader est la version Python du shader de lignes de construction Il d forme la g om trie du trait de mani re a la projeter sur une approximation de sa tangente Shader pour deplacer les sommets du trait le long de la tangente en son milieu Derive de StrokeShader class pyGuidingLineShader StrokeShader methode shade tH stroke un trait def shade self stroke it stroke strokeVerticesBegin Premier sommet itlast stroke strokeVerticesEnd 4 itlast decrement Dernier sommet t lt direction tangente t itlast getObject getPoint it getObject getPoint On cherche le sommet milieu du trait itmiddle StrokeVertexIlterator it while itmiddle getObject u lt 0 5 itmiddle increment On deplace tous les sommets sur la tangente while it isEnd 0 it getObject SetPoint itmiddle getObject getPoint tx it getObject u itmiddle getObject u it increment
15. attributes Strokes and Attributes tage de stylisation approches interactives Dans les approches interactives l utilisateur dessine directement sur la sc ne Kalnins et al JK MM 02 par exemple pr sentent le syst me WYSIWYG NPR qui permet de peindre interactivement des traits sur le mod le 3D en plus des lignes de silhouettes d j 50 chapitre 2 tat de l art pr sentes Dans ce syst me il est galement possible de modifier les attributs des traits de mani re interactive l utilisateur peut dessiner un trait exemple dont les attributs seront reproduits sur l ensemble des traits de la sc ne l aide de techniques d apprentissage Machine Learning L inconv nient de ces approches est que le style ainsi g n r est sp cifique la sc ne Par exemple si l on consid re l illustration de la figure 2 33 les couleurs des traits ont t choisies interactivement et donc sp cifiquement pour cette sc ne Pour cette raison le style peut ventuellement tre r utilis pour l ensemble des images d une m me animation mais son transfert une autre sc ne ne peut pas se faire automatiquement FIG 2 33 Rendu stylis les approches interactives Une image produite avec le syst me interactif de mod lisation de style WYSIWYG NPR Kalnins et al KMM 02 Par contraste notre approche est programmable et le style du dessin est co
16. l issue de laquelle le style aura t traduit en des termes algorithmiques La d composition en modules de style l identification des rela tions entre attributs et informations qui en r sultent peuvent tre plus ou moins bonnes en fonction de l utilisateur et de la complexit du style observ Dans le cas o le style trouve une formulation naturelle sa transcription sous forme de modules de style sera ais e elle sera laborieuse dans le cas contraire Certaines des illustrations produites par notre syst me et peuplant cette th se s inspirent plus ou moins pr cis ment de styles observ s sur des illustrations r elles Nous n avons pas eu le sentiment lors de tels exercices d tre bloqu s de ne pas pouvoir mod liser un style Il serait int ressant de soumettre le syst me une plus grande vari t de styles encore pour mieux en valuer les limites Cette approche peut elle tre tendue l animation Telle qu elle a t pr sent e notre approche ne permet pas d assurer la coh rence tempo relle d une animation Ainsi chaque image sera g n r e ind pendamment des pr c dentes et des suivantes Bien qu il existe de nombreuses applications la g n ration d illustrations fixes la production d une animation reste l une des possibilit s les plus excitantes de la synth se d images et cette absence de gestion de la coh rence temporelle constitue en soit une limita tion importan
17. 4 4 3 Requ tes 1 dimensionnelles Les requ tes 1 dimensionnelles servent r cup rer l information associ e un l ment de dimension 1 En pratique ces requ tes concernent les ar tes du graphe de vue ou les traits Puisque l information est d finie par point ces requ tes se font dans le cas g n ral en int grant le long de l l ment 1 dimensionnel l information obtenue en chaque point l aide de requ tes 0 dimensionnelles En pratique l int gration peut tre n importe quelle op ration d agr gation permettant de combiner un ensemble de valeurs en un seul r sultat pour l ensemble de la ligne Il y a plusieurs questions associ es ces requ tes Premi rement toutes les informations ont elles un sens pour un l ment 1 dimensionnel Ensuite si l information est par d finition continue le long d une ar te du graphe de vue ce n est pas n cessairement le cas pour les traits qui peuvent regrouper plusieurs ar tes Que faire en cas de discontinuit de l informa tion demand e le long de l l ment 1 dimensionnel Finalement de nombreuses op rations permettent d agr ger un ensemble de valeurs en une seule mais toutes ne sont pas pertinentes dans tous les cas Quelles fonctions d agr gation proposer Il y a deux cas de figure consid rer pour chaque information 1 l information est continue le long de l l ment 1 dimensionnel il s agit alors d une ar te du
18. 5 4 Impl mentation Dans cette section nous discutons un certain nombre d aspects li s l impl mentation des op rateurs 5 4 1 Langage Nous avons pr sent un ensemble d op rateurs ainsi que plusieurs structures destin s tre manipul s par l utilisateur dans un environnement de programmation pour mod liser un style Nous avons donc jusqu ici sp cifi une interface de programmation sans pr ciser dans quel langage elle pouvait tre propos e Toutefois un certain nombre de consid rations limitent les possibilit s quant aux langages possibles Premi rement la majorit des concepts que nous utilisons rel ve de la programmation objet ce qui suppose donc que notre langage de description de style doit lui aussi tre un langage objet Ensuite ce langage doit tre suffisamment riche pour offrir une flexibilit suffisante l utilisateur dans la programmation Finalement afin de pouvoir visualiser interactivement les r sultats de modifications faites dans un module de style il faut que ce dernier soit interpr t ou compil la vol e Nous avons choisi d utiliser le langage Python qui respecte les contraintes fix es pour programmer les modules de style Ainsi notre interface est fournie sous la forme d une librairie Python En pratique le syst me avec lequel nous avons exp riment notre approche et produit les r sultats de cette th se se d compose en deux parties l application h te et la
19. Il est important de remarquer que ces quantit s peuvent tre valu es dans leurs espaces respectifs en tout point n importe quelle chelle et pour n importe quelle direction dans le cas de la densit a priori Les d cisions de simplification et de stylisation peuvent s appuyer sur un simple crit re de densit mesur e sur un trait mais elles peuvent aussi impliquer une analyse plus complexe bas e sur des requ tes de densit diff rentes chelles positions et directions Dans ce chapitre nous montrons comment des outils d analyse simples mais puissants peuvent tre d finis partir de telles requ tes Finalement dans la philosophie inh rente notre approche programmable l objectif est encore ici de s parer les d cisions stylistiques des d cisions techniques Nous fournissons la ori 159 densit parmi les autres informations et laissons l utilisateur la d cision de comment ex ploiter cette information dans le contexte de modules de style Dans nos exp riences nous contr lons l encombrement en utilisant l omission de lignes ou en contr lant les attributs des traits toutefois d autres strat gies de simplification pourraient exploiter nos mesures de densit SP03a 6 4 Densit a priori Bien que la notion de complexit ou de densit d un dessin soit intuitive sa d finition pr cise requiert un soin particulier des notions de normalisation et d chelle doivent notam men
20. Pour chacun de ces op rateurs on expose le principe de fonctionnement les types des entr es et des sorties les r gles l algorithme Bien que les op rateurs de topologie ou de s lection soient logiquement les premiers tre appel s nous commen ons par pr senter l op rateur li l assignement d attributs d appa rence un trait d j construit En effet la plupart du temps les op rateurs uvrant la d finition topologique d un trait agissent dans la perspective d une telle affectation d attri 5 2 Op rateurs de description de style 119 buts Commencer par pr senter cette op ration permet donc de mieux appr hender les buts atteindre pour les op rateurs pr c dents 5 2 1 Contr le des attributs d apparence des traits op rateur de shading Principe Une fois les traits construits leur topologie sp cifi e il faut leur assigner les valeurs d attributs tels que la couleur l paisseur et la transparence Cette tape est la plus similaire aux syst mes traditionnels de shading la principale diff rence tant que les l ments manipul s sont ici des traits 1 dimensionnels plut t que des fragments 0 dimensionnels Pour cette raison nous empruntons au rendu r aliste le terme shading pour d signer cette op ration Outre les attributs num r s ci dessus on consid re la position spatiale de chaque point du trait comme un attribut particulier En effet nous
21. comme une mise en relation d attributs de style avec des informations extraites de la sc ne Dans la suite de ce chapitre nous abordons les questions suivantes Quels attributs composent le style d un dessin Quelles sont les informations g n riques pertinentes dans le cadre de la mise en style d un dessin Quelle est l approche la plus adapt e la mod lisation de style 3 2 Attributs de style La section pr c dente nous a donn un aper u de ce que pouvaient tre les attributs de style avec par exemple l paisseur des traits ou leur couleur mais aussi le choix des traits a omettre Dans cette section nous d taillons les attributs de style que nous consid rons dans notre approche Ils peuvent tre s par s en deux groupes les attributs de bas niveau et les attributs de haut niveau Alors que les attributs de bas niveau sont relativement clas siques et ont t identifi s comme composants de style depuis longtemps d ja les attributs de haut niveau ont jusqu ce jour t peu trait s et leur identification constitue l une de nos contributions 3 2 1 Bas niveau Les attributs de bas niveau du style d terminent l apparence d un trait donn dans un dessin On en identifie quatre sortes illustr es par la figure 3 7 FIG 3 7 Les attributs de style bas niveau a L apparence d un trait est caract ris e par b sa g om tr
22. confirmer ces impressions Quel apport repr sente ce syst me Il n est pas toujours vident dans le cas d approches programmables d valuer l apport qu elles repr sentent En particulier on peut se demander s il est vraiment plus simple de programmer un style dans notre syst me que directement en C comme un moteur de rendu sp cifique Dans cette section nous passons en revue les diff rents l ments d un tel syst me qui sont indispensables et fournis et qui repr sentent ainsi un gain de temps consid rable dans la d finition d un style Nous ne citons pas ici les l ments basiques communs la plupart des applications graphiques tels que la lecture de mod le 3D o la visualisation La supposition principale de notre approche est qu un style est d fini en fonction d infor mations g n riques de la sc ne La premi re conomie consid rable r alis e par l utilisateur est de ne pas avoir programmer le calcul ni surtout l acc s ces informations 8 2 Discussion 207 L ensemble des structures d finies dans cette th se et en particulier le graphe de vue repr sente une organisation essentielle des donn es La construction de ces structures requiert un certain soin dont l utilisateur n a pas se soucier Ensuite bien qu un travail de programmation lui soit demand l utilisateur s appuie sur une m thodologie lorsqu il programme un module de style l aide de nos op rat
23. du rendu en agrandissant les polygones orient s dans la direction oppos e la direction de vue backfacing cf figure 2 10 b L algorithme est nouveau modifi en 2001 par Raskar et al Ras01 de mani re afficher les ar tes et les vall es en plus des silhouettes La technique s appuie ici sur l ajout de polygones pertinemment orient s au bout de certaines faces En 1999 Gooch et al GSG 99 proposent une autre m thode de rendu de silhouettes galement compl tement ex cut e sur la carte graphique Ils sugg rent qu en utilisant une texture d environnement dont le p rim tre est colori en noir les silhouettes appara tront 24 chapitre 2 Etat de l art i Back Camera Front a Extension i Back i Camera i i lt lt Front b Fic 2 10 Rendu direct de silhouettes a Une premi re technique d affichage des silhouettes consiste avancer l g rement les faces orient es vers Varri re en rouge Les portions de ces faces en noir qui passent devant les faces orient es dans l autre direction en bleu deviennent visibles et dessinent les silhouettes b L autre technique introduite par Raskar et al consiste agrandir ces m mes faces plut t que de les avancer On obtient ainsi des lignes d paisseurs plus homog nes Raskar et al RC99 naturellement comme on peut le voir sur la figure 2 11 Cette technique off
24. est r duite soit uniform ment soit d une fa on spatialement variable au travers de l indication L information de densit s inscrit dans le cadre des informations utiles au style tudi es au chapitre 4 De m me l utilisation qu on en propose dans ce chapitre est plus particuli rement d di e un syst me programmable En effet l utilisateur doit pouvoir disposer d une grande flexibilit pour sp cifier les r gles de s lection et de tri qui y sont associ es et qui peuvent tre compliqu es Toutefois de par sa complexit la densit occupe une place particuli re dans la liste des informations et il nous sembl pertinent de d tacher au maximum sa description du syst me pr sent dans les pr c dents chapitres Le ton adopt ici se veut donc plus g n ral que pour les autres informations 6 1 Introduction Dans le rendu NPR de dessins au trait lorsque la complexit de la sc ne augmente les images g n r es peuvent souffrir d encombrement lorsque trop de lignes sont dessin es sur une petite surface Ce probl me est en particulier soulev par la repr sentation de structures complexes telles que les murs de briques les toits de tuiles les arbres et s accentue lorsque ces structures sont observ es sous des angles rasants Par opposition la photographie les dessins permettent l omission de d tails ou l abstraction et les artistes ont d velopp un grand 154 nombre de techniques pi
25. image contient galement des textures sp cifiques pour les extr mit s des traits cf figure 5 15 d VaryingThicknessShader Ce shader prend en arguments deux valeurs d paisseur une paisseur pour les extr mit s et une pour le milieu du trait L interpolation pour les valeurs interm diaires suit un sch ma d interpolation lin aire sph rique SLERP cf figure 5 15 e VaryingColorShader De mani re similaire au pr c dent shader celui ci prend deux cou leurs en arguments une pour les extr mit s et une pour le milieu du trait les couleurs interm diaires tant cette fois interpol es lin airement cf figure 5 15 f BezierCurveShader Ce shader permet de lisser la g om trie d un trait en le d formant selon son approximation par une courbe de b zier SmoothingShader Ce shader permet galement de lisser la g om trie d un trait mais cette fois l aide d une m thode it rative cf figure 5 16 SpatialNoiseShader Ce shader permet de perturber la position des sommets d un trait l aide d un bruit de Perlin L amplitude et la fr quence du bruit font partie des argu ments Cette fonctionnalit est essentielle pour donner l image finale un aspect cr dible de dessin Les figures 5 17 a et b illustrent le shader de bruit spatial Les fonctions de bruit de Perlin utilis es pour programmer les d
26. impl mentation de strat gies de sim plification automatiques Des r sultats plus g n raux certains utilisant galement la densit sont pr sent s dans le chapitre 7 Les temps de calcul requis pour g n rer les illustrations de ce chapitre varient entre quelques secondes et quelques minutes utiliser la densit a priori est rapide gr ce au pr calcul des cartes de densit en revanche la densit causale est valu e sur demande chaque fois qu un trait doit tre dessin et est par cons quent l op ration la plus co teuse en particulier large chelle lagage uniforme Nous commen ons par d crire une strat gie de simplification o nous soulignons la r gularit et omettons les lignes uniform ment Dans ces exemples nous d cidons de consid rer l uniformit dans l espace objet de mani re pr server la r gularit de la sc ne La figure 6 10 montre deux niveaux d lagage uniforme sur le toit tuiles d une maison Dans les deux cas les lignes qui appartiennent de grandes r gions visuellement complexes sont dans un premier temps identifi es l aide de la carte de densit a priori a directionnelle pour l chelle 4 Ensuite partir du profil d chelle section de la densit a priori nous initialisons le noyau de l estimateur de densit causale de mani re correspondre environ deux fois la taille d une tuile pour l image de gauche et deux fois plus p
27. tre utilis es de mani re sp cifique la sc ne ou au dessin Nous avons jusqu ici crit que l ensemble des informations utilis es taient non sp cifiques la sc ne de mani re d finir un style transposable d une sc ne l autre Il faut en r alit nuancer cette affirmation Si toutes les informations sont g n riques dans la mesure o elles existent toutes dans n importe quelle sc ne 3D l utilisation de certaines d entre elles peut quant elle tre sp cifique une sc ne donn e et ne pas tre transposable directement une sc ne diff rente Par exemple l information d identit des objets existe dans toute sc ne mais est la plupart du temps utilis e pour s lectionner l ensemble des lignes d un objet particulier de la sc ne consid r e afin de leur appliquer un style particulier Un style s appuyant sur cette information permet de produire une image ou une s quence d images de la m me sc ne mais requiert quelques modifications pour tre appliqu une autre sc ne i e mettre jour l identit de l objet auquel appliquer le style Ainsi certaines informations sont sp cifiques la sc ne ou m me l image Par ailleurs la sp cificit ou la g n ralit de chacune de ces informations d pend galement de son utilisation Ainsi par exemple l information de coordonn es 2D peut elle tre utilis e pour d signer une 112 zone dans le support de vue lui m me par
28. un niveau plus ou moins lev des d pendances entre les attributs de style et les informa tions Par exemple les r gles de chainage dans leur ensemble s appuient au minimum sur les informations de nature des lignes et d identit des objets pour chainer ensemble des ar tes de m me nature en suivant la topologie de l objet D autres d pendances sont plus particuli rement visibles pour les illustrations 7 6 information de couleur du mat riau 7 7 information de densit 7 9 informations de nature des lignes et d occultation 7 10 informations de densit et d occultation et 7 11 information de courbure 2D D formation g om trique des traits Une autre fonctionnalit difficilement accessible aux syst mes non programmables est la possibilit de d former la g om trie des traits Outre les m canismes standard de bruitage de la g om trie qui permettent d obtenir un as pect plus humain c est aussi une gamme de d formations plus radicales qui est ainsi offerte l utilisateur comme l illustrent les figures 7 7 7 8 7 11 7 12 et 7 131 Simplification par usage de la densit Finalement l int gration de formes avanc es de Vinformation de densit coupl e la pr sence d op rateurs programmables de tri et de s lection permet de sp cifier des strat gies de simplification labor es Outre les exe
29. un parfait colocataire et un excellent ami pendant quatre ans Grenoble Delphine Alles pour sa pa tience son soutien et son aide pendant la douloureuse p riode de la r daction mes amis Mathieu Clotilde Laure et Virginie pour avoir eu la gentillesse et le cou rage de subir l preuve de la soutenance aux amis de Paris Nico Manu Anthony Marion Vincent Nabila Charlotte Aur lien Elie Judith et Fr d ric Loic et Marie Laure Jean David les marmottons aux amis de Grenoble St phane et Fanny Ga lith Cyril Raph Jean No l Camille Natacha Paola Nathalie et le groupe des 13 et aux amis de Boston Shelly Elodie Neda Uriel D borah Paul Adnan pour avoir partag mes moments de d tente Enfin c est mes parents Nicole et Paul Grabli et mon fr re David que j adresse toute mon affection et ma reconnaissance pour m avoir permis d en arriver l Je d die cette th se Jean Table des mati res 1 Introduction 1 1 Pourquoi faire du NPR7 1 2 Le style dans le NPR 1 3 Th se s lt s ses pes Do e oni mor do HE mit e DA es eS ee 1 3 1 Probl matique 1 3 2 Approche
30. 7 2 2 Deuxi me module de style contour ext rieur calligraphique Ce module de style d finit des traits correspondant au contour ext rieur de la sc ne cf figure 7 3 Il s appuie principalement sur le pr dicat standard permettant de savoir si un l ment 1D appartient au contour ext rieur sur l it rateur de chainage ChainPredicatIterator et sur le shader calligraphique Corps du module de style BP LS LR LI LR EL EL LT IE A LL LIL LCL IL AE LT HH Module de style BH NN NN D D VPN LIAL ULIA TLL On instancie un predicat permettant de tester si un element 1D est visible et appartient au contour exterieur predicatelD AndUPiD QuantitativelnvisibilityUP1D 0 ExternalContourUP1D Selectionne les aretes visibles du contour exterieur Operators select predicatelD Chaine a l aide de iterateur de chainage ChainPredicatelterator 186 chapitre 7 R sultats FIG 7 3 Deux me module de style contour ext rieur calligraphique On chaine le long des aretes visibles du contour exterieur Aucune contrainte ne porte sur la paire arete courante arete suivante Ainsi le predicat binaire de en permanence TrueBP1D Operators bidirectionalChain ChainPredicatelIterator predicatelD TrueBP1D NotUP1D predicatelD liste de shaders shaders_list ConstantColorShader 0 2 0 2 0 2 4 Affecte une couleur RGB constante Affecte
31. Comme on l a vu dans la formule 6 1 la densit a priori est une fonction 3 param tr e de l espace x y de l chelle o et de la direction i D importants aspects structurels de la complexit du dessin peuvent tre r v l s en tudiant les variations de la densit dans la dimension de chaque param tre Pour un meilleur aper u nous fixons deux des trois param tres et tudions la r ponse de la densit aux variations du troisi me param tre Fronti res spatiales Dans de nombreux sch mas de simplification les bords des r gions denses re oivent un traitement sp cifique En particulier indication tend tre positionn e ces endroits cf section 6 6 Les bords peuvent tre identifi s en tudiant la d riv e spatiale de la densit doo P une chelle donn e gp et pour une direction donn e up De mani re similaire la d tection de contours on peut calculer l image des gradients de la carte d chelle oo et de direction uo Des sch mas de d tection plus avanc s issus de l analyse d image peuvent aussi tre utilis s Distribution directionnelle Comme nous l avons mentionn plus haut diff rentes strat gies picturales peuvent tre utilis es selon que la complexit d une r gion dense est due des lignes dirig es selon quelques directions privil gi es ou qu aucune direction principale n en ressort On dit que la densit est anisotropique si une ou quelque
32. Curvature2DAngleFOD self _a a Operateur 7 1 Code source de r gles de style 179 inter element 1D def __call__ self inter Si la courbure est plus grande que le seuil on retourne vrai return self _func inter gt self _a Ce pr dicat utilise information de courbure pour ce faire le functor de requ te cette information est instanci dans le constructeur Ensuite dans la m thode _call__ la valeur de la courbure en un point est compar e un seuil si la courbure est plus grande que ce seuil le pr dicat renvoie vrai faux sinon Pr dicats unaires 1D Ces pr dicats prennent en argument un unique l ment de type l ment 1D UnaryPredicate1D est la classe de base de tous les pr dicats 1D Predicat 1D testant si un element 1D est d une certaine nature class pyNatureUP1D UnaryPredicatelD Constructeur def __init__ self nature UnaryPredicatelD __init__ self On instancie le functor 1D associe a ce predicat self _func CurveNatureF1D self _nature nature Surcharge de l operateur inter element 1D def __call__ self inter if self _func inter amp self _nature return 1 return 0 Dans cet exemple le pr dicat utilise le functor 1D CurveNatureF 1D pour valuer la nature d un l ment 1D Si pour l l ment pass en argument cette nature inclut notamment la nature pass e au constructeur le pr dicat renvoie vrai Pr dicats b
33. Les attributs de style bas niveau 3 8 La topologie des traits un chemin dans le graphe de vue 3 9 La topologie des traits et son influence sur les attributs bas niveau 3 10 Omission de lignes 3 11 Utilisation de multiples styles de lignes au sein d un m me dessin 3 12 Informations Coordonn es 3D 3 13 Informations Profondeur 3 14 Informations coordonn es 2D 3 19 Informations normales 3D 3 16 Informations normales 2D 3 17 Informations courbure 2D 3 18 Informations nature des lignes 3 19 Informations invisibilit quantitative 3 20 Informations objets occultants 3 21 Informations discontinuit en profondeur 3 22 Discontinuit en profondeur contour des arri re plans 3 23 Informations surfaces cach es 3 24 Informations identit des objets 3 25 Informations adjacence du graphe de vue 3 26 Le pipeline du syst me 4 1 Lignes caract ristiques 4 2 Graphe de vue courbes caract ristiques 4 3 Sommets du graphe de vue discontinuit de nature 4 4 Sommets du graphe de vue surfaces cach es et discontinuit en profondeur 4 5 Traits 4 6 Les traits ne correspondent pas n cessairement des li
34. R sum Afin de produire des traits convaincants i e imitant de mani re cr dible des traits r els il faut construire des cha nes partir des segments caract ristiques d tect s sur les surfaces Ce chainage d finit la param trisation des traits et peut tre probl matique en particulier dans le cas d une approximation polygonale de la silhouette dont le rendu engendre de nombreux artefacts qu il faut g rer Il est pr f rable de travailler avec une approximation plus exacte de silhouette 2 3 3 Rendu des marques Finalement une fois les traits construits et leurs attributs sp cifi s il ne reste qu en faire le rendu La difficult consiste alors imiter de la mani re la plus r aliste possible l apparence d un trait r el Celle ci d pend d un certain nombre de param tres tels que l outil le medium et le support utilis s Il existe deux m thodes pour produire une image partir des traits munis de leurs attri buts la simulation ou l utilisation de textures Les rendus de traits bas s sur la simulation s appuient sur des mod les physiques e g de diffusion pour calculer la couleur d pos e par l outil en chaque pixel partir des attributs des traits e g outil medium Curtis et al CAS 97 simulent par exemple des trac s l aquarelle en s appuyant sur des techniques de simulation d coulement des fluides pour calculer les mouvements d eau et de pigments lorsque le pinc
35. X 2 Bien qu ayant math matiquement un sens les op rations de min max sur des couleurs de mat riau ne semblent pas pr senter une grande validit dans l espace de couleurs RGB et ont pour cette raison t marqu es en rouge Concernant la moyenne on peut imaginer attribuer un trait la couleur correspondant la moyenne des couleurs des ar tes du graphe de vue la composant Enfin l union permet par exemple de tester si un trait poss de tel ou 107 tel mat riau et en quelle quantit parmi les mat riaux associ s aux ar tes du graphe de vue composant ce trait Identit des objets Moyenne Maximum Minimum Union Continu X X 1 Discontinu X X V Permet de savoir si un trait dessine au moins partiellement un objet donn Densit Moyenne Maximum Minimum Union Continu J J X Discontinu J Y X Le chapitre 6 propose une pr sentation compl te de l utilisation de l information de den sit Adjacence du graphe de vue Il n existe pas pour cet information de m canismes standard En effet on pourrait imaginer une infinit de mani res d exploiter les diff rents types de renseignements fournis par chaque requ te OD cette information Par exemple une requ te 1D pourrait consister v rifier si un trait contient un certain nombre d intersections en T ou encore s il est adjacent tel autre t
36. amp RE Dw EOS 3 4 Approche programmable 3 5 Vue d ensemble du syst me O QE RH amp 10 13 13 14 18 26 26 28 36 40 40 41 43 45 45 47 55 55 63 63 64 68 78 80 4 Informations utiles aux d cisions stylistiques structuration et acc s 4 1 Les donn es d entr e 4 1 1 Les lignes caract ristiques 4 1 2 Les informations 42 Structuration des lignes et des informations le graphe de vue 4 2 1 Pourquoi et comment structurer les lignes caract ristiques 4 2 2 D finition du graphe de vue dans le cas g n ral 4 2 3 Caract risation des sommets du graphe 4 3 Les traits 4 4 Acc s aux informations 4 4 1 Requ tes 0 dimensionnelles 4 4 2 Probl mes pos s 4 4 3 Requ tes 1 dimensionnelles 4 5 _Impl mentation 4 5 1 Calcul des informations 4 5 2 Stockage des informations 4 5 3 Acc s l information ede Ee he ds He Bh ad ee eG a 2 4 6 Dans quelle mesure les informations sont elles g n riques 4 6 1 Discussio
37. ayant pas contribu cette image sont totalement cach es Pour d terminer les segments visibles des ar tes restantes celles ci sont rasteris es et pour chaque pixel l image de r f rence permet de savoir s il est visible ou non Isenberg et al tendent cette approche et proposent une m thode similaire pour laquelle le recours une image r f rence d identit n est plus n cessaire En effet Isenberg et al s appuient uniquement sur le Z Buffer pour d terminer si un pixel donn est visible Afin de contourner les probl mes de pr cision pour chaque pixel on teste les valeurs de z des 8 pixels voisins si l un d entre eux est plus loin que le pixel concern ce dernier est d clar visible R sum Les m thodes de calcul de visibilit pour les lignes caract ristiques peuvent tre exactes et s appuyer sur des outils g om triques ou discr tes et utiliser le Z Buffer 40 chapitre 2 tat de l art 2 3 Construction de traits et affectation d attributs Cette section d crit les op rations qui se d roulent au sein du deuxi me tage du pipeline de la figure 2 12 et qui sont responsables de la stylisation Dans la section suivante nous verrons quels types de contr les sont offerts par les techniques actuelles sur ces op rations pour mener bien cette stylisation 2 3 1 Chainage des ar tes caract ristiques Quelle que soit la technique employ e pour d tecter le
38. celui ci pouvant concerner les traits SPO3b WS94 JWY02 WLS02 ou le remplissage de r gions GSG 99 GGSC98 Her98 Mei96 Sousa et al SP03b par exemple programment un rendu de traits pour lequel l paisseur est d autant plus importante que la courbure 3D Vest aussi de mani re imiter les variations dans la quantit d encre d pos e qui d pendent du geste de l artiste Dans cette cat gorie l article de Kowalski et al KMN 99 a plus particuli rement retenu notre attention et nous a inspir Il pr sente une technique de rendu NPR d objets complexes touffus tels que des feuillages cf figure 2 31 a l aide de textures de traits proc durales Si on Villustre sur un arbre par exemple leur approche consiste d marrer avec une forme approch e de son feuillage un ensemble de sph res par exemple chaque sph re repr sentant un groupe de feuilles et rajouter des motifs de d tails aux endroits pertinents lors du rendu On peut voir ces formes approch es ainsi que le rendu final sur la figure 2 31 Dans leur syst me l ajout de d tails est impl ment de mani re proc durale sous la forme de graftals Cette proc dure s appuie par exemple sur la normale la primitive ou sur la position du point de vue pour d cider de tracer le motif ou non L id e de pouvoir sp cifier proc duralement les d tails semble particuli rement int r
39. chantillonnage fait partie des op rations standard que la structure de trait doit proposer cf section 4 3 Un ensemble de shaders simples tels que l affectation d attributs constants est fourni Un shader sp cial permet de sp cifier le style de marques utilis pour le rendu du trait cf section 5 4 5 L ensemble des shaders standard fournis par notre syst me est pr sent la section 5 4 2 Entr es Sorties Les op rateurs de shading sont impl ment s comme des proc dures travaillant sur les traits On peut donc consid rer que l entr e de l algorithme est un trait muni d un ensemble d attributs et que la sortie est le m me trait avec des attributs modifi s Algorithme et r gles La programmation de ce type d op rations e g affectation d attributs d formation g om trique tant relativement simple et n cessitant le maximum de flexibilit aucune structure algo 120 Sey MERE Lu sn pe ri l P Shader d paisseur l calligraphique l gt l l l l l l l l l l En Se tm e Le de ne EE ee CR a r Shader de lignes de construction iS SS eee SS FIG 5 4 Op rateur de shading Sur ces deux illustrations on peut voir a gauche la topologie des traits a qui les attributs doivent tre assign s a les traits dessinent les contours ext rieur de l objet Le shader le plus remarquable utilis pour r aliser
40. dentes techniques la calculent peut poser des probl mes dans le cas de rendus stylis s et la solution de Hertzmann et al est une bonne mani re d viter ces difficult s Pour cette raison nous avons choisi de nous appuyer sur cette technique pour d terminer les lignes de silhouette Remarque Il est suffisant d utiliser une interpolation lin aire au lieu d une interpo lation d ordre au moins gal deux pour d terminer les points des faces pour lesquels le produit scalaire s annule dans la mesure o les faces portant les silhouettes sont observ es selon une direction de vue qui leur est quasi tangente Cet algorithme peut par ailleurs tre acc l r en travaillant dans l espace dual avec une approche similaire celle de Barequet et al BDG T99 pr sent e plus haut 12 F7 Y 1 7 Z 1 l A Sl Ozi h HT t A J J Sik WA A A RSS DAN N a b e FIG 2 17 Silhouettes lisses vs approximation polygonale a L approximation polygonale des silhouettes produit des courbes irr guli res b La m thode de Hertzmann et al produit des courbes de silhouette lisses en inf rant des informations sur la surface lisse partir de son approximation polygonale c Les m mes courbes vues sous un autre point de vue et superpos es d Avec les silhouettes l
41. e g projection perspective Le syst me de primitives fait correspondre les primitives de l espace objet points lignes surfaces volumes avec les primitives de l espace image points lignes r gions Le syst me d attributs affecte les propri t s visuelles telles que la couleur la texture l paisseur etc aux primitives de l image Le syst me de marques correspond au trac physique des primitives l aide de marques dont l aspect d pend des outils e g pinceau fusain m dia e g peinture l huile aquarelle et supports e g toile papier employ s Le style d un artiste est d fini par sa mise en uvre de chacun de ces quatre syst mes 1 3 Th se Comme nous l avons expliqu plus t t bien que la notion de style soit centrale au rendu non photor aliste elle reste floue y compris comme nous le verrons dans le chapitre 2 au sein de la communaut scientifique qui l a abord e de nombreux travaux en NPR se sont int ress s au d veloppement de techniques de rendu stylis et ont manipul de mani re implicite le concept de style tr s peu en revanche ont tudi le style en tant que tel et tent d en rendre les r gles plus explicites Il nous a donc sembl int ressant de pousser plus loin l tude du style et du processus de dessin dans l espoir d aboutir une approche du rendu non photor aliste plus g n rale et plus compl te 1 3 1 Probl matique Co
42. es les ar tes du graphe de vue 100 les points appartenant ces ar tes les traits les points sur les traits On distingue deux cat gories d un c t les l ments 0 dimensionnels qui regroupent les points appartenant aux ar tes du graphe de vue et les points sur les traits et de l autre c t les l meents 1 dimensionnels qui regroupent les ar tes du graphe de vue et les traits Comme nous le verrons dans le prochain chapitre la plupart des op rateurs mis la disposition de l utilisateur pour programmer un style peuvent travailler indiff remment avec l un ou l autre type de chaque cat gorie Il est donc en particulier souhaitable de fournir un acc s aux informations similaire depuis chacun de ces types Il existe toutefois quelques diff rences entre chaque paire d l ments dont il est important de tenir compte pour am nager un acc s efficace aux informations Dans la suite de cette section nous tudions s par ment les requ tes 0 et 1 dimensionnelles 4 4 1 Requ tes 0 dimensionnelles 4 4 2 Probl mes pos s La plupart des difficult s associ es ce type de requ tes proviennent d une part du fait qu il existe des points pour lesquels l information n est pas d finie et d autre part des ambiguit s qui peuvent na tre d une requ te une information 3D depuis un environnement 2D ambiguit s li es la projection inverse Comme nous l avons crit
43. es d entr e sont 3D les images sont obtenues en rendant la sc ne d une mani re ou d une autre 2 2 1 Espace image D tecter les lignes d un mod le 3D dans l espace image signifie qu on effectue un ou plu sieurs rendus de la sc ne et que le travail de d tection proprement parler se fait l aide d outils issus du traitement d images sur les images dans lesquelles sont stock s ces rendus En 1990 Saito et al introduisent les G buffers Geometric Buffers ce sont des images dans lesquelles des informations g om triques ponctuelles e g profondeur normales relatives la projection de la sc ne 3D sont accessibles Saito et al sugg rent que les lignes caract ristiques des objets sont plus ais ment d tectables dans certains de ces G buffers En particulier ils travaillent sur la carte des profondeurs dans laquelle les lignes de silhouette d une part et les lignes de cr tes et de vall es d autre part sont respectivement des disconti nuit s d ordre 0 et d ordre 1 cf figure 2 13 a Curtis travaille galement sur la carte des profondeurs pour d tecter les lignes de silhouette l aide d un filtre de type gradient La carte de gradients obtenue sert par ailleurs 2 2 D tection analytique de lignes caract ristiques 27 diriger des particules d encre manant des zones de silhouette En contr lant la perturbation subie par ces particules on obtient
44. est celle d abstraire de simplifier de mettre en valeur que les artistes ont utilis e perfectionn e au cours des si cles en jouant notamment sur les couleurs ou les traits Pour cette raison le dessin et la peinture sont encore aujourd hui des moyens d expression et de communication privil gi s B Le dessin est un outil p dagogique Il est galement fr quent de pr f rer le dessin pour r aliser des illustrations but p dagogique dans des domaines aussi vari s que la m decine o la m canique Ce succ s s explique par une particularit du dessin il permet de repr senter de mani re claire les l ments les plus complexes En effet le fonctionnement de notre syst me visuel permet de correctement appr hender les formes uniquement partir du trac de leurs contours La repr sentation par le dessin peut ainsi se traduire par une formidable conomie de moyens et donc une plus grande lisibilit de la repr sentation Le dessin permet galement l artiste de s loigner de la r alit sa guise il est ainsi courant en illustration technique d afficher les parties cach es d un objet de mani re ce que son m canisme ou sa structure soient mieux per ues cf figure 1 1 page suivante E L abstraction permet de communiquer efficacement C est galement le dessin que l on choisira d s qu il s agit de communiquer efficacement En effet avec le dessin on peut abstraire et cett
45. faire une requ te d information 0D l aide des fonctions 0D d finies par le syst me sur un objet de type Stroke Vertexlterator il est donc n cessaire d invoquer une m thode de typage cast ToInterface0DIterator Cet exemple est un shader qui affecte chaque point d un trait une paisseur inversement proportionnelle a la valeur de la profondeur de ce point Shader assignant une epaisseur fonction de la profondeur class pyZThicknessShader StrokeShader 182 chapitre 7 R sultats Constructeur HE min epaisseur min pour z infini Ht max epaisseur max pour z 0 def __init__ self min max StrokeShader __init__ self self min min self max max On instancie le functor de requete de profondeur self _func GetProjectedZFOD On surcharge la methode shade stroke un trait def shade self stroke it est du type Stroke Vertexlterator it stroke strokeVerticesBegin while it isEnd it doit etre caste pour etre passe en argument d une function OD z self _func it castToInterface0DIterator On calcule l epaisseur en fonction du z thickness 1 z x self max z self _min v est le sommet pointe par l iterateur getObject est l operateur de dereferencement v it getObject attribute renvoie l attribue associe au sommet v v attribute setThickness thickness thickness it increment Remarque En Python il n est pas possi
46. globale en dessinant seulement quelques r gions en d tail no tamment souvent aux fronti res de la structure requi rent ces possibilit s Par cons quent nous introduisons l information de densit a priori qui mesure la complexit visuelle du dessin potentiel constitu de l ensemble des lignes consid r es en entr e La densit a priori est valu e au d but du processus de dessin avant que le rendu s quentiel ne commence cf figure 6 3 Une interpr tation informelle de cette densit est qu elle correspond la connais sance pr liminaire de la sc ne que l artiste poss de L information de densit a priori ainsi que l analyse structurelle qu elle permet sont d crites la section 6 4 Style template Edition Strokes and Attributes Feature edges information a priori density causal density FIG 6 3 Mesures de densit vue d ensemble La densit a priori est mesur e sur l ensemble des ar tes visibles du graphe de vue c est dire sur l ensemble des lignes qui potentiellement peuvent appara tre dans l image finale Cette mesure permet d estimer la complexit du dessin si toutes les lignes taient dessin es La densit causale est mesur e sur l image dans laquelle les traits sont rendus avant d ajouter chaque nouveau trait Elle permet en particulier de d cider d omettre ou non un trait en fonction de la complexit courante du dessin
47. imitant un style esquiss en utilisant par exemple des shaders de bruit et de lissage Les modules suivants marquent 7 3 Images de styles 193 le d but de ce qui est suppos tre le dessin final en dessinant les traits les plus longs dans un ton plus clair cf figure 7 7 c affirmant ainsi les grandes courbes du mod le Les deux modules de style restant ajoutent les traits de d tail cf figure 7 7 c les petits traits se trouvant dans des r gions de haute densit sont s lectionn s de mani re accentuer le trac des zones complexes telles que les mains ou les visages Le r sultat de la combinaison de tous ces modules rappelle les dessins inachev s de la p riode de la Renaissance L omission contr l e de lignes joue notamment un r le important dans l emphase des r gions d int r t pour lesquelles plus de d tails ont t gard s a b c d FIG 7 7 Rendu de la vierge dans un style Renaissance Un style complere compos de plusieurs modules de style a le mod le 3D de la statue de la vierge auquel le style est appliqu Les modules de style ont t s par s en trois groupes Les diff rentes illustrations montrent l ajout progressif de ces modules de style b le premier groupe trace un patron pour le dessin c Le deuxi me affirme la forme d finitive en tragant les lignes les plus longues d Le troisi me groupe ajoute des d t
48. les requ tes 0 dimensionnelles peuvent tre faites sur des points appartenant des ar tes du graphe de vue ou des traits Dans le premier cas l acc s l information ne pose pas de probl me En revanche dans le deuxi me un point peut correspondre un point d une ar te du graphe de vue ou un sommet du graphe de vue et pour cette derni re configuration une requ te peut tre probl matique En effet la fonction d information Z tant par d finition continue sur l ensemble des ar tes du graphe de vue toute requ te d informations en un point d une de ces ar tes ne pr sente pas de difficult particuli re Au contraire une requ te d informations en un sommet du graphe n est pas forc ment d finie En effet si on a n ar tes connect es ce sommet on a potentiellement n vecteurs d informations diff rents possibles pour la valeur de la fonction d information en ce sommet Requ tes Contextuelles On aimerait donc d finir une fonction de requ te d information Z G I qui un point P du graphe associe un unique vecteur d information Comme nous l avons crit pour tous les points du graphe qui ne sont pas des sommets TY est bien d finie YPE Ua 19 T i En revanche pour tous les points correspondant aux sommets du graphe ZY n est pas n cessairement d finie Pour lever cette ind finition il faut d cider d une valeur pour ZY aux points de discontinuit Mais que
49. level self _diDensity ReadSteerableViewMapPixelFOD 1 level self _d2Density ReadSteerableViewMapPixelFOD 2 level self _d3Density ReadSteerableViewMapPixelFOD 3 level Surcharge de l operateur iter iterateur sur les points de la chaine def __call__ self iter c_iso self _IsoDensity iter c_0 self _d0Density iter c_l self _d1Density iter c_2 self _d2Density iter c_3 self _d3Density iter cMax max max c_0 c_1 max c_2 c_3 cMin min min c_0 c_1 min c_2 c_3 if c_iso 0 v 0 else v cMax cMin c_iso return v Il s agit de la d finition de la fonction 0D pyDensityAnisotropyF 0D qui value l anisotropie de la densit a priori cf chapitre 6 en un point Ce functor d rive de la classe UnaryFunc tion0D Double et retourne donc un r el Vinitialisation de cette fonction dans la fonction _init__ cinq functors permettant de faire des requ tes OD dans les diff rentes cartes de densit a priori sont instanci s On les instancie l initialisation pour pouvoir les utiliser par la suite dans la m thode __call__ Dans la surcharge de la m thode __call__ c est dire de l op rateur des requ tes sont faites dans les diff rentes cartes au point concern de mani re renvoyer une valeur entre 0 et 1 mesurant dans quelle mesure la densit a priori en ce point est anisotropique La plupart des r gles que nous allons maintenant voir s
50. puyer sur l aspect de la vue en particulier il est possible que les lignes caract ristiques de deux objets diff rents dont les projections dans le plan se rencontrent soient r unies au sein d un m me trait cf section 3 2 2 Donc si Va et Vp sont deux points de V dont les coor donn es 2D sont les m mes on veut pouvoir r unir deux ar tes E et E de respectivement connect es Va et Vp Le graphe de vue G est obtenu a partir du graphe G en fusionnant les sommets dont les projections sont confondues dans le plan Si P est la projection de l espace 3D dans l image alors les sommets de G sont les sommets de G modulo P V G V G yp er ev P V P V Ve vo 92 Remarque Dans ce travail on consid rera toujours qu l exception des sommets issus d intersections en T les projections des sommets et des lignes dans le plan ne sont jamais exactement colin aires A nsi seuls les sommets correspondant des intersections en T feront l objet de fusions La gestion des configurations singuli res constitue un projet de recherche int ressant mais qui sort du cadre de cette th se En pratique nous n avons pas constat de probl mes li s de telles configurations Remarque En informatique graphique le terme ar te d signe souvent un segment rectiligne 3D e g ar tes d un maillage En ce qui nous concerne nous employons ce terme pour d signer une ar te du graphe de
51. rateurs ne peuvent tre appel s la suite d autres par exemple on ne peut pas faire deux appels l op rateur de chainage pour des raisons d incompatibilit d entr es sorties tandis que pour d autres l appel peut avoir lieu tout moment du module de style En imposant certaines contraintes et en offrant certaines libert s dans l organisation de leurs appels ces op rateurs sugg rent une m thode d utilisation et m me une m thodologie pour la mod lisation de style Dans cette section nous pr sentons une organisation de ces op rateurs sous forme de pi peline En outre nous accompagnons cette organisation d un sch ma de synchronisation des donn es C est dire que nous proposons une mani re d ordonnancer l entr e des ar tes du graphe de vue dans le pipeline et leur progression ventuellement apr s transformation en traits d op rateur op rateur Comme nous allons le voir les diff rents choix de synchroni sation ont une influence sur les informations disponibles chaque tage du pipeline L entr e d un module de style et donc de ce pipeline est toujours l ensemble des ar tes du graphe de vue La sortie du pipeline est toujours un calque de l image finale 132 Remarque Nous employons ici et dans la suite le terme pipeline uniquement pour d signer la mise bout bout d op rateurs En particulier nous supposons ici un mode de fonctionnement purement s quent
52. se une grande vari t dans les styles g n r s Sans pouvoir pr tendre g n rer n importe quel style nous pouvons affirmer que de nombreux styles tr s diff rents peuvent tre mod lis s en suivant notre ap proche 206 Par ailleurs en nous inspirant de styles observ s dans des illustrations r elles pour cr er nos exemples nous avons en quelque sorte soumis notre syst me au test de la reproduction de styles et ceci toujours avec succ s Bien que ce processus soit hautement bruit notamment parce que les d marches d analyse et de compr hension du style r el sont d pendantes de l utilisateur il nous a confort dans nos choix d attributs d op rateurs et d informations Ce succ s est d deux facteurs principaux Premi rement notre approche est enti rement focalis e sur une flexibilit maximale dans le contr le du style Ainsi le choix d une approche programmable laisse l utilisateur une grande libert d expression dans ses descriptions En particulier des styles tr s complexes s appuyant sur un grand nombre d informations et donc impossibles d crire l aide d une approche interactive sont accessibles Ensuite nous avons pris soin de d finir le style de la mani re la plus fine possible notamment en introduisant des attributs de style de haut niveau tels que la topologie des traits souvent n glig s par les travaux pr c dents C est la combinaison de ces deux aspects qui offre
53. une ar te vive Les sommets correspondant de telles intersections font partie des sommets initiaux extr mit s des C et n ont donc pas besoin d tre ajout s Courbures 2D R Pour un objet lisse les seules discontinuit s de la courbure 2D le long de la projection d une ligne C sont observables aux points de rebroussement cusps Ces sommets sont donc inclus dans ceux cr s par les discontinuit s de l information d invisibilit quantitative 4 2 Structuration des lignes et des informations le graphe de vue 95 Par ailleurs pour un objet comportant des ar tes vives on aura potentiellement des dis continuit s au points pr sentant des discontinuit s des normales 3D mais pas n cessairement Normales 2D R Les points de discontinuit s des normales 2D sont les m mes que ceux de la courbure 2D Coordonn es 3D R Les lignes de C formant des courbes continues sur les surfaces des objets de la sc ne il n y a aucune discontinuit du vecteur de coordonn es 3D le long des courbes de C Profondeur R Pour la m me raison qu au dessus il n y a pas de discontinuit de l infor mation de profondeur le long des lignes de C Coordonn es 2D R Les projections des courbes de C tant elles m mes des courbes dans le plan image il n y a aucune discontinuit du vecteur de coordonn es 2D le long des lignes de C Identit des objets N Ici encore puisque les lignes de C restent sur les surf
54. 176 chapitre 7 R sultats r aliser un utilisateur En pratique les fonctions OD servent surtout acc der des informa tions sur des l ments 0 dimensionnels toutefois il est courant pour l utilisateur de d finir ses propres fonctions OD lorsque des requ tes plus complexes mettant en jeu plusieurs infor mations diff rentes sont n cessaires Il est important de prendre connaissance des deux ou trois grands principes relatifs cette impl mentation avant de l tudier D abord la classe UnaryFunction0OD est la classe de base de tous les functors OD qu ils soient d finies en C ou en Python En pratique en Python on trouve plusieurs functors de base en fonction du type de retour de la fonction Ainsi la classe UnaryFunction0 D Double est la classe de base de tous les functors OD qui renvoient un r el Ensuite pour d finir le comportement de sa propre fonction 0D deux m thodes doivent tre surcharg es La m thode __init__ Cette m thode correspond au constructeur du functor et contient toutes les initialisations n cessaires La m thode __call__ C est l quivalent de l op rateur du C dont la surcharge est le propre des functors dans la mesure o elle permet de simuler l utilisation d une fonction partir d un objet L l ment pass en argument cette m thode est un point en capsul dans un it rateur cet it rateur permet de parcourir les points d une cha ne 1D et sert conn
55. 2 0 UnaryFunction1DDouble __init__ self integrationType La fonction pour chaque requete OD est instanciee self _func pyDensityAnisotropyF0D level self _integration integrationType self _sampling sampling def __call__ self inter Appel au mecanisme standard d agregation de plusieurs valeurs return integrateDouble self func inter pointsBegin self _sampling inter pointsEnd self _sampling self _integration Ce functor pyDensityAnisotropyF1D d rive de la classe UnaryFunction1DDouble qui est la classe de base de tous les functors 1D qui renvoient des r els La classe de base des func tors 1D prend en particulier en argument le type d int gration e g moyenne maximum utiliser pour agr ger les valeurs OD correspondant aux valeurs renvoy es par les appels de la fonction 0D correspondante en chaque point de l l ment 1D ainsi qu une valeur pour V chantillonnage auquel faire ces requ tes 0D Dans le constructeur on instancie le functor OD correspondant pyDensityAnisotropyF 0D d fini au dessus La m thode __call__ prend en argument un l ment 1D qui peut tre une ar te du graphe de vue ou un trait et consiste en un appel au m canisme standard d int gration mentionn pr c demment On peut remarquer que l impl mentation d une telle fonction 1D partir de la fonction OD correspondante est relativement directe et rapide dans la mesure o elle peut largement b n ficier des m
56. Computational Geometry pages 417 418 1999 F Benichou and G Elber Output sensitive extraction of silhouettes from po lygonal geometry In Proceedings of the 7th Pacific Conference on Computer Graphics and Applications page 60 IEEE Computer Society 1999 D M Beazley SWIG an easy to use tool for integrating scripting languages with C and C In USENIX USE96 pages 129 139 David J Bremer and John F Hughes Rapid approximate silhouette rendering of implicit surfaces Proceedings of Implicit Surfaces 98 pages 155 164 June 1998 Mark De Berg Marc Van Kreveld Mark Overmars and Otfried Schwarzkopf Computational Geometry Springer Verlag 2000 Lubomir Bourdev Rendering nonphotorealistic strokes with temporal and arc length coherence Master s thesis Brown University 1998 220 BIBI BS00 BWL04 CAS 97 CHZ00 CJTF98 Coo84 CS04 CTP 03 Cur98 dC76 Dec96al Dec96b DFRS03 DOM 01 DS00 DS02a DS02b Dur02a Elb98 EMP 94 J Buchanan and M Sousa The edge buffer A data structure for easy silhouette rendering In Non Photorealistic Animation and Rendering 2000 William V Baxter Jeremy Wendt and Ming C Lin IMPaSTo A realistic model for paint In Proceedings of the 3rd International Symposium on Non Photorealistic Animation and Rendering pages 45 56 June 2004 C Curtis S Anderson J Seims K Fleischer and D Salesin Computer generated water
57. Course Notes SIGGRAPH 2003 J Tenenbaum and W Freeman Separating style and content In Advances in Neural Information Processing Systems volume 9 page 662 1997 Ups89 USE96 W 99 WD05 WHS03 Wil97a WLS02 WM04 WPFHO2 WS82b WS94 XC04 YLLCO3 YM04 225 S Upstill The Renderman Companion Addison Wesley Reading MA 1989 USENIX editor 4th Annual Tcl Tk Workshop July 1996 Mason Woo et al OpenGL programming guide the official guide to learning OpenGL ver 1 2 Addison Wesley Reading MA USA third edition 1999 John Willats and Fr do Durand Defining pictorial style Lessons from linguis tics and computer graphics Axiomathes 15 2 2005 Der Lor Way S W Huang and Zen Chung Shih Physical based model of ink diffusion in chinese paintings In WSCG 2003 J Willats Art and Representation Princeton U Pr 1997 Der Lor Way Yu Ru Lin and Zen Chung Shih The synthesis of trees in chinese landscape painting using silhouette and texture strokes Journal of WSCG Volume 10 2002 Brett Wilson and Kwan Liu Ma Rendering complexity in computer generated pen and ink illustrations In NPAR 2004 Matthew Webb Emil Praun Adam Finkelstein and Hugues Hoppe Fine tone control in hardware hatching In NPAR 2002 Second International Symposium on Non Photorealistic Rendering pages 53 58 ACM SIGGRAPH Eurogra phics June 2002 ISBN 1 58113 494 0 G Wyszecki and
58. Eurographics Workshop on Rendering 2001 O Deussen and T Strothotte Pen and ink illustration of trees Proc SIG GRAPH 2000 Doug DeCarlo and Anthony Santella Stylization and abstraction of photo graphs ACM Trans on Graphics 21 3 2002 Proc SIGGRAPH Doug DeCarlo and Anthony Santella Stylization and abstraction of photo graphs In Proc SIGGRAPH 2002 Durand An invitation to discuss computer depiction In Proc NPAR 2002 Elber Line art illustrations of parametric and implicit forms TVCG 4 1 1998 David Ebert Kent Musgrave Darwyn Peachey Ken Perlin and Worley Tex turing and Modeling A Procedural Approach Academic Press October 1994 ISBN 0 12 228760 6 FA91 FTP99 GGo1 GGSC98 GHJV95 Gla91 Gom95b GSG 99 Hae90 Her98 Her01aj Her03 HIR 03 HJO 01 HL90 HL94 HM92 HMK02 HOCS02 221 W T Freeman and E H Adelson The design and use of steerable filters IEEE Trans PAMI 13 9 1991 W Freeman J Tenenbaum and E Pasztor An example based approach to style translation for line drawings Technical Report 99 11 MERL 1999 Gooch and Gooch Non Photorealistic Rendering AK Peters 2001 A Gooch B Gooch P Shirley and E Cohen A non photorealistic lighting model for automatic technical illustration Proc SIGGRAPH 1998 Erich Gamma Richard Helm Ralph Johnson and John Vlissides Design Pat terns Elements od Reusable Object O
59. Remarque Dans notre pr sentation du pipeline nous utilisons la notation l pour d signer un l ment 1D tout au long du pipeline Il s agit d un abus de notation dans la mesure o initialement ces l correspondent des ar tes du graphe de vue alors qu apr s un appel l op rateur de cha nage et dans toute la suite du pipeline ils correspondent aux traits ainsi construits Ce raccourci nous a toutefois sembl am liorer la lisibilit du discours En supposant que l on travaille de mani re purement s quentielle on distingue deux mani res de synchroniser le flot de donn es au travers du pipeline une synchronisation par l ment et une synchronisation par op ration Synchronisation par l ment Dans ce sch ma de synchronisation l l ment l passe dans l tage O directement apr s avoir t trait par O _1 et l l ment 1 est inject dans le pipeline d s que l en sort En s inspirant des diagrammes de Gantt ce sch ma de synchronisation se repr sente ainsi Oi Th b a ln O A b i In O ii T 7 a O i ly m i t gt 134 Dans cette configuration on est s r que lorsque l entre dans le pipeline tous les lp k lt i ont d j travers l ensemble du pipeline Donc pour tout j Oj lorsqu il traite l peut en particulier utiliser les informations fournies par les traitements O l4 nKk lt i s il le souhai
60. T et ce titre sont inclus dans la liste des sommets issus du calcul des intersections de lignes dans le plan List of occludees S 5 5 a b FIG 4 4 Sommets du graphe de vue surfaces cach es et discontinuit en profondeur a sc ne 3D compos e de trois objets S1 S2 et S3 b On trace les lignes caract ristiques visibles ou cach es par deux ou quatre surfaces les objets tant ferm s seules les lignes dont l invisibilit quantitative est paire ont une influence sur la liste des surfaces cach es Pour S la couleur des lignes d pend de la liste des surfaces cach es noir pour les lignes ne cachant aucune Les lignes visibles sont dessin es avec le poids le plus important les lignes cach es par deux surfaces sont dessin es avec un poids moyen et les lignes cach es par quatre surfaces sont dessin es avec un poids faible c On a une discontinuit en profondeur le long d une lignes de silhouette ou de bord Ci lorsque la projection de cette derni re intersecte la projection d une ligne de silhouette appartenant une surface situ e directement derri re Ci En B par exemple l objet cach passe de Sz S3 provoquant ainsi un changement abrupte de la valeur de discontinuit en profondeur Normales 3D lisses R ou vives R x R On a une discontinuit de l information de normales 3D le long d une ligne C si et seulement si celle ci intersecte sur la surface 3D
61. TrueUP1D shaders_list R gles utilis es Ici encore seul un shader a t programm en plus du module de style par l utilisateur Shaders Ce shader affecte une paisseur variant de mani re non lin aire le long du trait Affecte une epaisseur qui augmente puis diminue de maniere non lineaire Derive de StrokeShader class pyNonLinearVaryingThicknessShader StrokeShader Constructeur HP m epaisseur minimum M epaisseur maximum e exposant de non linearite def __init__ self m M e StrokeShader __init__ self self m m self M M ZM est atteint au milieu du trait self _e e Methode shade def shade self stroke n stroke strokeVerticesSize i 0 it stroke strokeVerticesBegin while it isEnd att it getObject attribute if i lt float n 2 0 c float i float n else c float n i float n c pow float c self _e pow 2 0 self _e 189 t 1 0 c xself M c x self m att setThickness t 2 0 t 2 0 i i l it increment 7 2 4 Application a d autres modeles Nous avons beaucoup insist sur l aspect g n rique que se devait d avoir une feuille de style pour pouvoir tre r utilisable En regardant attentivement les modules de style et les r gles d finies pr c demment on s apercoit que les instructions ne s appuient aucun moment sur des l ments sp cifiques la sc ne particuli re la th i re et la tasse utilis
62. VH93 VH95 Sylvain Chomet Les triplettes de belleville 2d 3D 2003 Cailleteau and Tota Projet Atlanta Aquablue Delcourt 1998 Cailleteau and Vatine Nao Aquablue Delcourt 1989 Disney Snow white and the seven dwarfs 1937 Disney Pinocchio 1940 Franquin Spirou et fantasio Spirou et les h riti s 1952 William Herdman Interior of rosslyn chapel 1850 Edgar P Jacobs Blake et mortimer Blake et Mortimer 1947 1977 Richard Linklater Waking life 2001 Henri Matisse Loulou 1869 1954 Katsuhiro Otomo Retour sur terre Mother Sarah Delcourt 1996 Patrice Pellerin L pervier Dupuis 2001 Pablo Picasso M re et enfant Baltimore Museum of Art 1922 Masamune Shirow and Shinji Aramaki Appleseed Digital Frontier Inc 2004 Marjane Satrapi Persepolis T4 Persepolis L Association 2003 Hironobu Sakaguchi and Moto Sakakibara Final fantasy The spirits within Square Pictures 2001 Ray Smith Ray Wright James Horton and Michael Wright An Introduction to Art Techniques Dorling Kindersley Limited 1995 Jiro Taniguchi Tome 1 Quartier lointain Casterman 2002 Tardi Une gueule de bois en plomb Nestor Burma Casterman 1990 Tome and Janry Le petit spirou Dupuis 1994 Tome and Janry Machine qui r ve Spirou et Fantasio Dupuis 1998 Valles and Van Hamme Margrit 1886 Les Ma tres de l Orge Gl nat 1993 Valles and Van Hamme Noel 1932 Les Ma tres de l Orge Gl nat 1995 C
63. Vorientation de la ligne occultante de mani re produire un paississement coh rent avec celle ci Puma 2003 b Dans cette illustration lorsqu un objet en cache un autre l artiste omet de fa on quasi syst matique les extr mit s des lignes de l objet cach qui touchent l objet de premier plan cr ant ainsi un halo autour de ce dernier Ici encore c est l information d adjacence du graphe de vue qui est utilis e afin de savoir parmi les lignes de l objet cach quelles sont celles qui sont en contact avec l objet de premier plan Marjane Satrapi 2003 L Association Sat03 3 4 Approche programmable Les hypoth ses auxquelles nous m nent ces observations et sur lesquelles s appuie cette recherche sont que dessiner peut tre vu comme un processus c est dire comme une suite d op rations l mentaires permettant de passer de l ensemble des lignes dessiner aux traits stylis s les d cisions stylistiques incluses dans ce processus sont reli es au contenu de la sc ne et du dessin ces relations sont suffisamment g n riques pour pouvoir tre exploit es sur n importe quelle sc ne elles peuvent tre exprim es sous forme algorithmique Dans le contexte d un syst me de rendu au trait de sc nes 3D on peut donc envisager de calculer ces informations g n riques et de contr ler les attributs de style des traits en exprimant leurs relations ces informati
64. W S Stiles Color Science Concepts and Methods Quanti tative Data and Formulae John Wiley and sons second edition 1982 G Winkenbach and D Salesin Computer generated pen and ink illustration Proc SIGGRAPH 1994 Hui Xu and Baoquan Chen Stylized rendering of 3d scanned real world environ ments In Proceedings of the 3rd international symposium on Non photorealistic animation and rendering pages 25 34 ACM Press 2004 Young Jung Yu Do Hoon Lee Young Bock Lee and Hwan Gue Cho Interactive rendering technique for realistic oriental painting Journal of WSCG 11 1 2003 Jingyi Yu and Leonard McMillan A framework for multiperspective rendering In Eurographics Symposium on Rendering Norrkoping Sweden 2004 Arts plastiques ACO3a AC03b AC03c Bau96 Ben96 Bil97 Cha60 St phane Amache and J r me Combe Deux pieds thomas fersen Amazing Studios 2003 St phane Amache and J r me Combe Respire mickey 3d Amazing Studios 2003 St phane Amache and J r me Combe Yalil mickey 3d Amazing Studios 2003 Baudoin Le voyage L Association 1996 Ted Benoit Blake et mortimer Blake et Mortimer 1996 Bilal Visioni di fine millennio Hazard Edizioni 1997 Marc Chagall Ahasuerus sends vashti away Drawing for the bible 1960 Cho03 CT98 CV89al Dis37 Dis40 Fra52 Her50 Jac77 Lin01 Mat54 Oto96 Pel01 Pic22 SA04 Sat03 SS01 SWHW95 Tan02 Tar90 TJ94 TJ98
65. WS94 SWHS97 et aux tonal art maps WPFHO02 KKL 00 pour lesquelles l ordre est d fini manuellement Nous montrons comment ces outils peuvent tre utilis s pour r aliser diff rents types de contr les de l encombrement En particulier nous r alisons la fois l lagage uniforme et l indication 156 R sum Nous introduisons deux mesures de densit la densit a priori et la den sit causale pour automatiser le processus de simplification de dessin au trait Nous nous focalisons plus sp cifiquement sur deux strat gies de simplification classiques V lagage uniforme et l indication 6 2 Travaux ant rieurs Les questions li es encombrement dans le dessin au trait ont t abord es tr s t t par la communaut NPR Winkenbach et al par exemple ont introduit la notion d indication qui consiste dessiner les d tails d une structure complexe seulement quelques endroits pour en sugg rer la complexit tout en r duisant la surcharge Ils introduisent la notion de traits priorit WS94 SWHS97 qui peuvent tre vus comme des motifs de textures en demi tons Les traits qui forment une texture sont manuellement tri es par ordre d importance jusqu ce que la densit correcte soit atteinte Les priorit s assurent que les caract ristiques les plus pertinentes de la texture sont dessin es en premier Notre approche s appuie sur ce travail et l tend des textures aux sc
66. apprentissage Machine Learning pour inf rer une feuille de style partir d exemples fournis par l utilisateur L inconv nient de ces techniques est qu elles chouent capturer les aspects haut niveau du style D s lors l autre alternative consiste laisser l utilisateur la charge de sp cifier directement la feuille de style Nous choisissons d adopter une approche programmable inspir e de Renderman pour la mise en ceuvre de la phase d dition En effet une telle approche semble s imposer naturellement dans la mesure ot elle r pond aux objectifs fix s de Flexibilit L utilisateur doit pouvoir sp cifier des styles vari s le plus librement possible et surtout ne pas tre limit un choix parmi une liste de styles pr d finis Dans une approche programmable l utilisateur d crit directement le style l aide d un langage d di cet usage En outre seul un langage de programmation est m me de permettre la sp cification des relations entre attributs de style et informations qui peuvent tre arbitrairement complexes G n ricit En favorisant la formulation des styles sous une forme algorithmique l approche programmable est la plus adapt e l objectif fix de produire une description de style g n rique c est dire r utilisable sur n importe quelle sc ne 3D Ainsi une description de style aura la forme d un programme qui aura t crit
67. appuient sur les m mes concepts Fonctions 1D De m me que pour les functors OD les functors 1D d rivent tous de la classe UnaryFunction1D dont la m thode call__ et ventuellement la m thode init__ doivent tre surcharg es En outre les fonctions 1D sont souvent construites comme une s rie d appels la fonction OD correspondantes Par exemple une fonction 1D calculant la courbure moyenne d un trait fera un appel a la fonction OD de calcul de courbure en chaque point du trait et calculera ensuite la moyenne des valeurs obtenues Pour cette raison il est possible d automatiser une telle impl mentation qui dans notre syst me consistera souvent utiliser les m canismes standard d agr gation comme nous l avions vu section 4 5 un certain nombre d op rations standard telles que la moyenne ou le minimum permettent de construire partir d un ensemble de valeurs obtenues par requ tes OD une unique valeur pour l ensemble de l l ment 1D Ces m canismes sont illustr s dans l exemple de code suivant Fonction 1D estimant l anisotropie de l ensemble des points d un element 1D class pyDensityAnisotropyF1D UnaryFunctionl1DDouble constructeur level echelle de la requete a la densite integrationType type d agregation a utiliser HE sampling distance entre deux points d echantillonnage def __init__ self level integrationType MEAN sampling
68. b 3 3 Informations 75 L information de discontinuit en profondeur est l une des informations les plus utilis es dans le processus de dessin Elle peut servir aussi bien pour des attributs de bas niveau que de haut niveau Par exemple dans le cadre de la simplification de dessin au trait le probl me se pose de savoir quelles lignes garder en priorit Il est alors courant de conserver en premier les silhouettes marquant une forte discontinuit en profondeur Ou encore dans la repr sentation de paysages l artiste d toure fr quemment les diff rents plans du fond d une sc ne d un seul trait cf figure 3 22 Inconsciemment c est encore l in formation de discontinuit en profondeur qui est utilis e pour d terminer la topologie du trait d limitant chaque plan ce trait relie en effet entre eux des contours se situant premi rement une profondeur similaire et deuxi mement pr sentant chacun une forte discontinuit en pro fondeur Finalement cette information est galement tr s fr quemment utilis e pour contr ler les attributs bas niveau du style Ainsi les artistes choisissent souvent de dessiner de mani re plus appuy e les contours ayant de fortes discontinuit s en profondeur en jouant sur la couleur ou l paisseur On a par exemple vu sur la figure 3 5 que les contours marquant une forte discontinuit en profondeur taient dessin s avec un trait plus pais FIG 3 22
69. canismes standard fournis par le syst me 7 1 2 Pr dicats La deuxi me famille de r gles que nous illustrons dans ce chapitre sont les pr dicats Les pr dicats sont des types sp ciaux de functors qui ne renvoient que des bool ens Ils peuvent tre unaires s ils ne prennent qu un seul argument ou binaires s ils prennent deux arguments et travailler sur des l ments 0D de type it rateur sur points d un l ment 1D ou des l ments 1D En g n ral un pr dicat unaire sert tester si une certaine condition est v rifi e sur un l ment donn tandis qu un pr dicat binaire sert comparer deux l ments De m me que pour les functors il existe des classes de base pour chacun de ces types de pr dicats dont chacun d entre eux doit d river et le travail consiste surcharger le construc teur __init__ si besoin est et la m thode __call_ Nous comen ons par donner un exemple de pr dicat unaire OD Pr dicats unaires 0D Ces pr dicats prennent en argument un unique l ment de type it rateur sur points d un l ment 1D UnaryPredicateOD est la classe de base de tous les pr dicats OD Predicat OD pour tester si la courbure 2D en un point est plus grande qu un seuil donne class pyHigherCurvature2DUPOD UnaryPredicateOD Constructeur a seuil sur la courbure def __init__ self a UnaryPredicate0D __init__ self Le functor de requete sur la courbure est instancie self _func
70. cette mani re les d riv es de courbure peuvent tre exprim es et calcul es en chaque sommet puis les lignes de cr tes et de vall es peuvent en tre d duites R sum Dans cette section nous avons vu comment calculer efficacement les diff rents types de lignes caract ristiques savoir les silhouettes les contours sugges tifs les ar tes vives et les bords En particulier la litt rature traitant de la d tection des silhouettes et de l acc l ration d une telle d tection est vaste Nous choisissons pour notre syst me de calculer les lignes de silhouette en suivant l approche de Hertzmann et al HZ00 qui fournit des lignes adapt es la stylisation 2 2 3 Informations visibilit ce stade de l tat de l art nous avons vu diverses techniques permettant d extraire d une surface l ensemble des segments 3D qui constituent les lignes caract ristiques de cette surface observ e sous un point de vue donn Un certain nombre d tapes restent encore franchir pour passer de cet ensemble de segments un rendu stylis qui donne l illusion d un dessin fait la main En pratique une certain nombre d informations sont calcul es et associ es aux segments caract ristiques ainsi d tect es au tout premier rang desquelles la plus commun ment utilis e est l information de visibilit En effet parmi ces segments certains sont enti rement ou partiellement
71. cisions impliquant la position d un l ment 1D par rapport une boite d encombrement cette derni re tant d finie en 3D Avec la moyenne on peut par exemple imaginer s lectionner les traits ou ar tes dont le barycentre appartient une r gion 3D Avec le minimum et le maximum on est capable de s lectionner les traits compl tement inclus dans une r gion 3D ou l intersectant Remarque Nous illustrerons souvent l exploitation d une information donn e par une op ration de s lection Cet op rateur que nous pr sentons dans le prochain chapitre nous semble en effet tre celui qui met le plus en vidence l information utilis e 105 Remarque Lorsque le sens d une requ te est similaire dans le cas continu et le cas discontinu on parlera de traits cas le plus g n ral pour d signer les l ments 1D ar tes ou traits Profondeur Moyenne Maximum Minimum Union Continu VA y X Discontinu VA V X Les traitements envisageables pour cette information sont similaires ceux utilis s pour illustrer l information de coordonn es 3D Coordonn es 2D Moyenne Maximum Minimum Union Continu VA V X Discontinu J J X Les traitements envisageables pour cette information sont similaires ceux utilis s pour illustrer l information de coordonn es 3D Normales 3D Moyenne Maximum Minimum Union Continu af V X Discontinu J V X
72. comme nous le verrons apr s nous allons consid rer la fonction d information qui un point d une courbe C associe l ensemble des informations qui lui sont associ es et nous appuyer sur son domaine de continuit pour subdiviser les lignes caract ristiques Les informations que nous avons vues sont d une mani re g n rale d finies comme des scalaires de R ou N ou des vecteurs de R ou N Dans la mesure o d une part l tude de continuit d une quantit vectorielle se fait composante par composante et d autre part N C R nous pouvons donc mener les tudes de continuit dans R Dans les d finitions qui suivent les formulations sont faites dans le cas g n ral c est dire pour un ensemble d informations quelconques et on notera I Ip x X Im l espace d fini par les m diff rents types d informations consid r s la k 7 information tant d finie dans l espace Tg Avec cette notation la fonction d information d finie plus haut s crit T UC I P gt Ass A R sum partir du mod le 3D consid r en entr e on d tecte un ensemble de points caract ristiques qui correspondent aux silhouettes etc et on construit un ensemble de courbes 3D C partir de ces points En outre l ensemble des informa tions pr sent es au chapitre 3 sont calcul es et on d finit la fonction d information T pour y acc der depuis les Cj 4 2 Structuration des
73. compl tement automatique pour g n rer des illustrations imitant la technique de la peinture l huile partir de photographies L utilisateur sp cifie une s rie de tailles de pinceaux qui seront chacune utilis e dans une couche diff rente du rendu les couches tant affich es s quentiellement en commen ant par celle correspondant la taille de pinceau la plus importante Les couches correspondant aux pinceaux plus fins sont donc superpos es aux couches plus grossi res permettant ainsi l ajout naturel de d tails Les supports des coups de pinceau sont des B splines dont la direction est d finie par le gradient de l image originale Ici encore la couleur des coups de pinceau est extraite de l image originale Un exemple de r sultat est montr sur la figure 2 1 b b FIG 2 1 G n rations de peintures partir d images a Cette image a t obtenue partir d une photographie sur laquelle l utilisateur a peint interac tivement Un certain nombre d attributs des coups de pinceau e g leur couleur sont automatiquement d termin s partir des informations de la photographie Haeberli et al Hae90 b Cette image a t g n r e automatiquement partir d une photographie plusieurs calques sont superpos s chacun reproduisant la photographie originale l aide de coups de pinceau d une certaine taille On utilise des tailles de pinceaux d croissantes d
74. construction est compl tement men e en 3D a b c a FIG 4 1 Lignes caract ristiques A partir des points caract ristiques d tect s sur ce cube a il existe une infinit de mani res de construire des lignes caract ristiques Nous choisissons la solution d qui consiste construire les lignes maximales entre deux embranchements Cet ensemble de lignes peut tre d fini de mani re plus math matique de la fa on suivante si P d signe l ensemble des points caract ristiques des surfaces de la sc ne pour le point de vue consid r alors l ensemble C des courbes caract ristiques C form es sur les surfaces de la sc ne partir de ces points est d fini par CG CP Ci ouvert et connexe VP Ci Je Be P AP est une vari t de dimension 1 Ci maximal C C C est partir de cet ensemble C de lignes 3D que les traits seront construits La figure 4 2 illustre ces courbes sur une sc ne simple DE a x FIG 4 2 Graphe de vue courbes caract ristiques a La sc ne 8D sous le point de vue consid r b Un ensemble P de points caract ristiques pour cette sc ne et ce point de vue c L ensemble P observ sous un autre point de vue d Les sommets s parant les diff rentes courbes caract ristiques Ci Comme nous allons le voir dans la suite de ce chapitre ces lignes peuvent et vont encore tre subdivis es et arrang es au sein d un
75. de cette construction une impression de gribouillage parti culi rement naturelle comme on peut le voir sur la figure 7 12 D coupage s quentiel Comme nous l avons expliqu la section 5 2 4 il est possible d avoir des recouvrements entre les traits produits par un d coupage s quentiel En choisissant les pr dicats de coupure pour les points de d but et de fin de cha ne de mani re ce que l on ait beaucoup plus de points de d but que de fin ou inversement on obtient des traits tels que ceux que pourrait tracer un artiste s y prenant plusieurs reprises pour tracer le m me trait mais en le d butant un endroit diff rent chaque fois L illustration de la figure 7 13 a t cr e en utilisant cette technique 197 IE es FIG 7 10 Simplication bas e sur la densit et chainage au travers de petites occultations a l ensemble initial des lignes d un objet complexe b La grille a t simplifi e de mani re uniforme cf figure 6 11 afin d am liorer la lisibilit du dessin Si aucun traitement n est fait ceci r sulte en un effet
76. de densit peut galement accro tre le co t de l tape de construction des traits de mani re significative pour atteindre un temps de calcul de l ordre de la minute ceci en raison du d lai induit par la lecture dans le framebuffer Par ailleurs les faibles performances du lan gage Python l interpr tation contribuent loigner notre rendu du temps r el Toutefois ces temps de calcul sont rarement prohibitifs et permettent la plupart du temps une explo ration confortable lors de la mod lisation d un style En outre ils pourraient tre fortement r duits si un effort tait fourni dans ce sens En effet premi rement aucune optimisation d envergure n est ce jour incluse dans le syst me ensuite les prochaines cartes graphiques promettent des performances similaires pour l criture et la lecture dans le framebuffer et la vitesse d ex cution de Python augmente au fur et mesure que des nouvelles versions sont distribu es Nous pensons finalement que le nombre de lignes de code n cessaires la formulation d un style donn ou le temps requis pour qu un utilisateur impl mente un style constituent des mesures plus pertinentes de l efficacit de notre syst me Le lecteur trouvera ces chiffres dans le chapitre 8 en particulier sur la figure 8 1 Avant de pr senter les images de style les unes apr s les autres en les accompagnant des commentaires explicatifs n cessaires nous proposons de consid rer ces r
77. de haute courbure pour produire les traits de droite La fonction valu e est donc la fonction 0 dimensionnelle d valuation de la courbure 2D en un point La r cursion s arr te d s que la taille des cha nes est inf rieure un seuil donn Ce type de d coupage est notamment utilis pour produire des lignes de construction telles que celles illustr es par la figure 5 7 b En effet le shader de lignes de construction se contente de d former les traits de mani re les projeter sur la tangente en leur milieu Il est donc fortement d pendant de la topologie et de la longueur des traits qui lui sont donn s Le d coupage des traits aux points de haute courbure permet de disposer des traits id aux pour ce type de d formation spatiale Entr es Sorties Pour les deux op rateurs de d coupage les entr es et les sorties sont des traits Si T et This d signent respectivement l ensemble des traits consid r s en entr e et l ensemble des traits produits en sortie de l op rateur de d coupage ce dernier peut tre vu comme une relation s qui un trait en entr e associe une s rie de traits en sortie s Th Th Ro Th Pour le d coupage s quentiel travaillant avec deux conditions de coupure identiques et le d coupage r cursif les Ti forment une partition de chaque T En revanche pour le d coupage s quentiel travaillant avec deux conditions de coupure diff rentes les T 5 js soit se
78. de l op rateur de cha nage dans le sous pipeline de 136 dessin nous ont en revanche paru moins importantes et nous avons finalement choisi la synchronisation par op ration pour le chainage Op rateur de d coupage Le d coupage pourrait fonctionner selon l un ou l autre des sch mas de synchronisation En effet d un c t il semble raisonnable d imaginer une synchro nisation par l ment et donc un appartenance au sous pipeline de dessin pour par exemple permettre l utilisation de l information provenant du dessin en cours dans les d cisions de coupure par exemple afin de couper les traits en cas de changement abrupte de densit De l autre c t on pourrait souhaiter adopter le mode de syn chronisation par op ration ne serait ce que pour pouvoir faire suivre un appel cet op rateur de d coupage d un tri Dans notre impl mentation nous avons opt pour une synchronisation par op ration pour l op rateur de d coupage Remarque L op rateur de d coupage tant multiple nous aurions pu galement en pr voir des appels dans le sous pipeline de dessin Pour une question de temps nous n avons mal heureusement pas pu impl menter cette fonctionnalit Op rateur de shading I est clairement int ressant pour un utilisateur de pouvoir sp cifier des attributs en fonction d informations provenant du dessin en cours e g une paisseur de trait d autant plus faible que la densit de l ima
79. des lignes construites On calcule alors l ensemble des informations en traitant les lignes les unes apr s les autres ces calculs sont d taill s dans la section 4 5 chaque cr ation de sommet les informations de connectivit entre lignes sont stock es de mani re cr er la structure de graphe Remarque Le nombre de sommets du graphe de vue ainsi cr peut tre relativement lev dans le cas d objets complexes Or parmi les sommets issus des calculs d intersections des lignes dans le plan certains ne correspondent aucune discontinuit de la fonction d information et sont associ s une intersection rarement exploitable Par exemple une intersection dans l image entre les projections de deux ar tes vives qui ne s intersectent par ailleurs pas en 3D constitue un embranchement auquel il est rare qu un trait bifurque En pratique nous avons exp riment notre approche avec une version du graphe de vue dans laquelle les intersections dans l image entre les projections de deux lignes dont aucune n est une silhouette ou un bord ne cr ent pas sommets R sum Les lignes caract ristiques d tect es en 3D sont d coup es et arrang es dans un graphe planaire Ce d coupage et cet arrangement ont t d finis en pr vision des op rations au sein desquelles les lignes seront manipul es dans le cadre de la description de style En particulier dans la mesure o cette d
80. description de style L application h te se charge de la construction du graphe de vue partir d une sc ne 3D et d afficher les traits construits par la feuille de style Elle int gre un interpr teur Python qui lui permet d ex cuter le code des modules de style L application h te et la feuille de style s appuient tous deux sur la librairie de descrption de style Pour le premier cette librairie 138 chapitre 5 Programmation de style w a T LL FIG 5 10 Exemples de trois modules de style Style Module Style Rules def CalligraphicShader Select ExternalContour Chain ExternalContour Style Module 1 Shade CalligraphicShader Select Visible def Highest2DCurvature Chain FollowObject Style Module 1 Split Highest2DCurvature def GuidingLineShader Shade GuidingLineShader Select Visible amp lExternalContour Chain FollowObject Style Module 1 ot pou Shade PlainShader FIG 5 11 Exemples de pipelines de trois modules de style 2 Cette figure montre les fichiers constitutifs de chacun des trois modules de style ainsi que la structure grossi re de ces fichiers Ainsi chaque module de style est constitu d un fichier contenant la s quence des appels aux op rateurs de description de style et qui est le module de style proprement parler et d un fichier contenant la d finition des r gles utilis es par le module de style Cette s paration d un modul
81. diff rentes gestuelles de trac artistique En 1996 Decaudin remarque que la d termination des discontinuit s de premier ordre peut se r v ler instable et propose de travailler sur la carte des normales figure 2 13 b pour d tecter les lignes de cr tes et de vall es celles ci y correspondant en effet des discon tinuit s d ordre 0 Finalement en 1998 Corr a et al utilisent la carte des uv figure 2 13 c qui stocke sous forme de couleur les coordonn es param triques de chaque sommet pour d tecter les silhouettes en combinant les informations de couleur et de profondeur on peut d terminer la nature e g silhouette bord de chaque ar te s parant deux pixels et ainsi construire un graphe connectant les bords de pixel de m me nature a c FIG 2 13 D tection de lignes caract ristiques G buffers a Saito et Takahashi utilisent la carte de profondeur pour calculer les ar tes caract ristiques des filtres diff rentiels d ordres 1 et 2 permettent respectivement de d terminer les lignes de silhouette et de cr tes et vall es Saito et Takahashi ST90 b Une carte de normales Les lignes de cr tes et de vall es peuvent tre calcul es sur ce type d image avec des filtres d rivatifs d ordre 1 Blender 2004 www blender org c La carte des uv d un mod le de tapis Cette carte permet de d tecter les lignes de silhouette Corr a et al JCIT
82. diff rents ont t utilis s pour la disquette et le lecteur les lignes de ce dernier ont t trac es l aide de traits pleins noirs pour les lignes visibles et en pointill s noirs pour les lignes cach es tandis que pour la disquette les lignes ont t dessin es en bleu La simplification de dessins au trait partir de ces informations est tudi e en d tail dans le chapitre 6 Adjacence d autres traits Un style classique consiste paissir les lignes aux jonctions en T L artiste utilise alors l information d adjacence des lignes de deux mani res D une part pour identifier les jonctions et d autre part pour que l paississement d une extr mit de ligne respecte l orientation de la ligne avec laquelle se produit la jonction La figure 3 25 a montre une illustration pour laquelle ce style a t utilis et en particulier un gros plan sur une jonction en T Il est galement courant de marquer la s paration entre diff rents objets plac s a diff rents plans pour mettre en valeur ces objets ou pour rendre le dessin plus clair en produisant un effet de halo autour des objets Cela consiste omettre les segments extr mes des traits connect s l objet autour duquel le halo est souhait Cet effet est illustr par la figure 3 25 b Remarque La liste d informations pr sent e pr c demment est le fruit d une longue p riode d observations et d exp rimentations Il
83. e de la fonction gaussienne alors augmenter o diminue la densit finale du dessin puisque le nombre de traits permis dans une r gion donn e est le m me quelque soit la taille de cette r gion Dans ce cas la r gularit reste globalement constante puisque diminuer le nombre de traits autoris s sur une aire donn e r duit les chances d encombrement pour cette r gion Le r sultat attendu l issue d une simplification bas e sur l omission de lignes consiste souvent avoir une certaine quantit d espace libre autour de chaque ligne ce qui est obtenu en choisissant une chelle correspondant l espace minimum entre deux traits ainsi qu un seuil bas 168 R sum La densit causale est mesur e sur le dessin au fur et mesure que les traits sont ajout s et permet en particulier un contr le fin sur la densit des traits dans ce dessin lorsqu elle est utilis e pour diriger de omission de traits La causalit de cet information implique de pouvoir trier les traits de mani re afficher les plus importants en premier 6 6 Applications et r sultats Nous pr sentons ici les r sultats obtenus la suite des exp rimentations men es l aide de notre syst me programmable et sp cifiquement li s la simplification de dessins au trait l aide des mesures de densit Ces r sultats d montrent que les deux densit s causale et a priori se compl mentent l une l autre et permettent l
84. exemple dessiner la moiti de l image dans tel style et l autre moiti diff remment ou pour d signer les positions des projections d objets de la sc ne Dans le premier cas l information est parfaitement g n rique est peut tre transpos e une autre sc ne directement Dans le deuxi me cas illustr par la figure 3 14 page 70 bien que l information soit g n rique l utilisation qui en faite est sp cifique la sc ne et m me la vue et il est alors n cessaire de modifier des param tres pour l appliquer une autre sc ne On peut donc distinguer pour l ensemble des informations celles qui sont compl tement g n riques celles qui peuvent tre g n riques ou sp cifiques selon l utilisation qui en est faite et celles qui sont compl tement sp cifiques Le tableau suivant r sume cette cat gorisation G n rique Sp cifique nT ee Quand s applique au support de a la vue quand s applique aux vue projections d objets de la sc ne Coordonn es 3D Quand s applique au volume de la sc ne quand s applique aux sc ne positions des objets dans la sc ne Profondeur Quand s applique au volume de la sc ne quand s applique aux sc ne positions des objets dans la sc ne Normales 3D x Normales 2D x Courbures 2D x Nature x Invisibilit quanti m tative Objets occultants la sc ne Dis
85. fournit des fonctions d acc s pour l ensemble des informations et adopte un comportement par d faut dans le cas de requ tes ambigu s aux points de discontinuit de l information L utilisateur a la possibilit de surcharger ce comportement en ces points de discontinuit s ce qui semble tre la contribution la fois n cessaire et minimale qui puisse lui tre demand e Pour chaque op rateur nous avons s par la structure algorithmique commune toute utilisation des parties variables qui en d terminent le comportement Ainsi le travail de l utili sateur consiste uniquement dans la majorit des cas d finir des objets fonctions functors et des fonctions d it rations ce qui ici encore semble le minimum essentiel exposer et repr sente galement une fa on int ressante de factoriser le travail de code fourni par l uti lisateur Seul l op rateur de shading ne pr sente pas de structure algorithmique standard et son impl mentation est enti rement laiss e l utilisateur 8 2 2 valuation du succ s de l approche En prenant un peu de recul par rapport au travail effectu on peut maintenant se de mander si notre approche atteint les objectifs fix s Cette section est organis e sous la forme d une suite de questions accompagn es le plus souvent possible de r ponses Quelle est la diversit des styles accessibles Nous avons montr au travers des diff rents exemples illustrant la th
86. from 3d trian gular meshes using a thining algorithm Proc of SPIE 2001 J D Northrup and L Markosian Artistic silhouettes A hybrid approach In Non Photorealistic Animation and Rendering 2000 Yutaka Ohtake Alexander Belyaev and Hans Peter Seidel Ridge valley lines on meshes via implicit surface fitting ACM Trans on Graphics 2004 Proc SIGGRAPH Open NPAR http www opennpar org 2002 V Ostromoukhov Digital facial engraving Proc SIGGRAPH 1999 Harry Plantinga and Charles R Dyer Visibility occlusion and the aspect graph Int J Comput Vision 5 2 137 160 1990 Ken Perlin An image synthesizer In SIGGRAPH 85 Proceedings of the 12th annual conference on Computer graphics and interactive techniques pages 287 296 ACM Press 1985 E Praun H Hoppe M and A Finkelstein Real time hatching Proc SIG GRAPH 2001 Bernhard Preim and Thomas Strothotte Tuning rendered line drawings Pro ceedings of WSCG 95 pages 228 238 1995 Ramesh Raskar Hardware support for non photorealistic rendering In Pro ceedings of the ACM SIGGRAPH EUROGRAPHICS workshop on Graphics hardware pages 41 47 ACM Press 2001 R Raskar and M Cohen Image Precision Silhouette Edges In Proc 1999 ACM Symp on Interactive 9D Graphics 1999 Christian R ssl Leif Kobbelt and Hans Peter Seidel Extraction of feature lines on triangulated surfaces using morphological operators In Andreas Butz Antonio Kriiger an
87. geste unique de l artiste i e sans que l outil ait quitt le support Il est alors indispensable de construire de longues cha nes partir des ar tes caract ristiques de mani re imiter les longs traits g n ralement trac s par les artistes Nous verrons dans les prochaines sections qu une fois la topologie des traits d finie il existe des techniques permettant de leur affecter des attributs et d en faire un rendu qui parvient simuler un v ritable trac de trait 2 3 Construction de traits et affectation d attributs A1 La construction de ces cha nes est dans la plupart des travaux ant rieurs r duite sa plus simple version qui consiste en partant d une ar te caract ristique suivre la ligne laquelle cette ar te appartient le long de la surface jusqu ce qu on revienne au point de d part ou jusqu au prochain changement de visibilit Sousa et al adoptent toutefois un sch ma plus labor que celui que nous venons d noncer dans lequel les adjacences du graphe d aspect de la sc ne sont consid r es de mani re pouvoir cha ner sans respecter la topologie des surfaces 3D 2 3 2 Artefacts de param trisation D une mani re g n rale les traits sont construits en chainant des segments de l espace 3D puis en projetant ces cha nes dans le plan image Chaque cha ne 3D est except en ses extr mit s localement topologiquement quivalente une droite Il est essentiel que ce
88. graphe de mani re tre le plus adapt possible notre approche de construction de traits Remarque En pratique notre approche n est pas d pendante des algorithmes utilis s pour d tecter les points caract ristiques et permet de mani re naturelle de facilement prendre en compte des familles suppl mentaires 4 1 2 Les informations L autre donn e d entr e qui nous sert d finir les traits sont les informations c est sous cette d signation g n rale que nous regroupons l ensemble des informations qui peuvent tre extraites de la sc ne et de l image finale et qui selon nous jouent un r le dans les choix stylistiques d un artiste Elles sont d finies sur les lignes caract ristiques pour un point de vue donn Ce sont ces informations qui ont t informellement introduites dans le chapitre pr c dent Nous reprenons ici la liste de ces informations qui avait t donn e au chapitre 3 sous un point de vue plus formel Informations extraites de la sc ne Coordonn es 3D D finies dans R Ce sont les coordonn es 3D des points se trouvant sur les lignes caract ristiques Coordonn es 2D D finies dans R Ce sont les coordonn es 2D des points dans l image Profondeur D finies dans R mi chemin entre la 3D et la 2D il s agit de la coordonn e z d un point dans le rep re de l observateur c est dire la distance de ce point au point de vue Normales 3D
89. information pour ce traitement la densit du dessin Cette information ainsi que les diff rents l ments qui y sont li s apparaissent bri vement dans les chapitres pr c dents mais sont illustr s et pr sent s de mani re plus d taill e dans le chapitre 6 Dans le chapitre 7 nous pr sentons les r sultats obtenus avec le syst me d velopp en suivant notre approche Ces r sultats consistent d une part en des exemples de code de descriptions de style qui permettent de concr tiser les id es quant au travail fournir par l utilisateur pour sp cifier un style et d autre part en des illustrations g n r es par le syst me Finalement nous concluons et discutons les d cisions relatives notre approche dans le chapitre 8 1 5 Vocabulaire Certains des termes que nous emploierons souvent dans ce manuscrit peuvent rev tir diff rentes significations selon le contexte dans lequel ils sont rencontr s et comme nous les utilisons parfois dans un sens pr cis il est pr f rable de les d finir d s le d but Trait C est une marque laiss e par l outil e g pinceau crayon sur le support e g toile en un seul geste de l artiste Un trait commence l o l artiste pose son outil et s arr te la o il le l ve Ligne de silhouette Pour un point de vue donn c est la ligne sur une surface o l orientation de cette surface par rapport au point de vue vers le point de vue
90. int gration faisant partie des donn es membres communes tous les functors 1D Remarque Nous verrons dans le prochain chapitre que l utilisateur a la possibilit de d finir ses propres fonctions dans le langage de description de style Dans ce contexte les m canismes d int gration d crits dans cette section lui sont bien videmment accessibles Remarque Gr ce au m canisme des it rateurs il est possible d utiliser la fonction in tegrate sur une portion seulement d un l ment 1D En particulier on peut ainsi facile ment programmer des requ tes 0 dimensionnelles pour lesquelles la valeur retourn e est calcul e comme une moyenne par exemple l aide de l ensemble des valeurs se trouvant sur l l ment 1D dans une certaine fen tre autour du point consid r Dans le futur nous aimerions d velopper davantage cette strat gie de mani re inclure pour toute requ te OD une valeur d chelle indiquant la taille de la fen tre utiliser autour du point de requ te c est dire le nombre de valeurs moyenner etc pour calculer la valeur en ce point R sum En particulier les requ tes OD contextuelles sont impl ment es grace des it rateurs qui permettent d it rer sur l ensemble des sommets 0D d un l ment 1D 4 6 Dans quelle mesure les informations sont elles g n riques 4 6 1 Discussion sur la g n ralit des informations B Certaines informations peuvent
91. la composante k d finie dans I Re I ik o lt m gt rk On d finit alors i comme Te GxExE Ik V Ei Ej I Z9 V Ei E En pratique on ne fait appel la fonction f qui d cide de quelle valeur retourner en cas de discontinuit que lorsqu on rencontre une discontinuit En particulier si la fonction Z A est continue au sommet V dans le contexte consid r il n est pas n cessaire d y avoir recours On dit que TI est continue en un sommet V dans le contexte E Ej ssi lim ZI Pi lim T Pi n o0 103 FIG 4 9 Continuit partielle de l information Sur cet exemple l information est g n ralement discontinue sur E1 U Ea et E3 U E34 e g l information de nature des lignes En revanche si on consid re uniquement l information d invisibilit quantitative elle est continue sur E U E gt et est discontinue sur E3 U E4 Remarque Les probl mes pos s par la requ te d informations 3D en un point 2D et que nous avons d crits pr c demment sont incontournables en NPR La solution consistant enrichir toute requ te en un point d un contexte 1D impose une certaine technicit au travail demand l utilisateur dans la mesure o elle lui laisse la charge de d finir les valeurs d une fonction d information en ses points de discontinuit Il semble toutefois difficile d viter ce travail l utilisateur sans lui enlever un contr le fondamental
92. la phase d dition Le travail qui a le plus inspir notre approche est l interface de programmation Renderman Ups89 AG99 HL90 Coo84 qui est de mani re paradoxale d di e au rendu photor aliste Renderman est la sp cification d une interface standard entre des programmes de mod lisation et des programmes de rendu capables de produire des images de qualit photor aliste Ren derman est d une certaine mani re similaire au langage Postscript mais pour des primitives 3D Un aspect important de cette interface est le langage de shading il casse le concept restrictif de surfaces d crites par un petit nombre de param tres en autorisant l utilisateur crire ses propres descriptions arbitrairement complexes de comment l clairage et l ombrage doivent tre calcul s Renderman et en particulier son langage de shading ont apport au rendu photor aliste une flexibilit essentielle et ont grandement contribu la qualit des rendus actuels Comme nous l avons mentionn au chapitre pr c dent nous pensons qu une telle approche pourrait d autant plus profiter au rendu non photor aliste que celui ci exige encore plus de flexibilit dans la sp cification du rendu Bien que notre approche s inspire de syst mes tels que Renderman et ait ce titre une philosophie qui en est proche elle comporte des sp cificit s qui la diff rencient nettement de ces derniers en premier lieu l utilisat
93. le graphe de vue View Map Sa construction et ses propri t s sont tudi s dans le prochain chapitre en section 4 2 Pa User Style description Output Image ViewMap FIG 3 26 Le pipeline du syst me rall lement l ensemble des informations vues en section 3 3 est calcul et stock au niveau du graphe de vue La feuille de style crite par l utilisateur est ensuite interpr t e afin de construire un en semble de traits strokes stylis s partir des ar tes du graphe de vue Cette feuille repr sente la sp cification algorithmique du style construite l aide des op rateurs de description de style fournis Dans cette description de style l utilisateur programme la mani re dont les ar tes du graphe de vue doivent tre transform es en traits stylis s Quatre op rations peuvent tre identifi es pour cette transformation La premi re tape consiste d finir le sous ensemble des ar tes destin es tre mises en style l aide de l op rateur de s lection Dans la deuxi me tape il s agit de d finir la topologie des futurs traits partir notamment des informa tions d adjacence du graphe de vue Un op rateur de cha nage est fourni cette fin Enfin la derni re op ration consiste assigner les attributs de style bas niveau aux traits ainsi cr s l aide de l op rateur de shading Pour certaines des op rations l ordre dans lequel les l ments s
94. les composantes du style Nous avons pr f r restreindre notre champ d tude en analysant plus minitieusement un sous espace des styles et des techniques B Nous nous limitons aux dessins de lignes Tout d abord nous avons choisi de nous limiter dans un premier temps l tude des dessins de lignes c est dire ceux tra ant les silhouettes contours etc d une sc ne La ligne est en effet la primitive privil gi e de nombreuses coles graphiques e g la bande dessin e ou l illustration technique pour r aliser la base minimale d une repr sentation ainsi que la caract ristique qui distingue le plus l art plastique de la photographie Par ailleurs la ligne est une primitive 1 dimensionelle qui contraste avec les primitives 0 dimensionelles les points habituellement utilis es en rendu Se limiter aux dessins de lignes signifie aussi dans notre cas que nous ne traitons pas le remplissage de r gions 2D de l image ce qui est ind pendant du choix de la ligne comme primitive de trac cf figure 1 3 Bien qu il soit courant dans le dessin au trait d avoir recours l une ou l autre des techniques de hachures pour indiquer le volume la texture Vombrage des objets repr sent s nous ne tra ons que les lignes de contours habituellement utilis es telles que les lignes de silhouette ou de cr tes par exemple La figure 1 3 b illustre de telles lignes dans un dessin au trait Quant la raison
95. les sommets d un trait cf section 4 3 Le r chantillonnage peut tre exprim en distance entre deux sommets ou en nombre de sommets pour le trait FIG 5 14 Exemples d it rateurs de cha nage simples Sur cette figure le chatnage est chaque fois appliqu l ensemble des ar tes appartenant au contour ext rieur de la sc ne a suit le contour ext rieur b suit la topologie de l objet et la silhouette c suit la silhouette sur le m me objet et autorise le chainage multiple des ar tes Notons que dans les cas b et c l op ration de chainage a inclus des ar tes ne faisant pas partie de la s lection initiale 145 ConstantThicknessShader Ce shader basique permet d assigner une paisseur constante l ensemble d un trait cf figure 5 15 b ConstantColorShader C est cette fois une couleur constante que l on peut assigner un trait cf figure 5 15 c StrokeTextureShader Nous avons mentionn que le syst me de marques tait simul a l aide de textures ce point sera d taill la section 5 4 5 utilis es pour moduler les valeurs de transparence en chaque pixel d un trait Ce shader permet l utilisateur de sp cifier le fichier de texture utiliser Outre le nom de fichier contenant l image de la texture ce shader prend en arguments le type de m dium simul de mani re choisir le mode de m lange utiliser ainsi qu un bool en indiquant si l
96. leur sont affect es Le premier module simule ainsi un pinceau pais pour tracer les lignes les plus longues Il utilise notamment l information de densit pour viter V encombrement de gros traits et garder un aspect pur Le deuxi me simule un pinceau plus fin et est utilis pour tracer les autres lignes plus petites Les illustrations de la figure 7 14 ont t r alis es avec ces modules de style 7 3 Images de styles 199 FIG 7 12 Style sketchy chainage multiple a Utilisation d un shader de bruitage spatial sur des traits construits par chainage simple gauche et par chatnage multiple droite b Combinaison d un module de style utilisant un cha nage multiple avec des modules de style cr ant le patron du dessin pour renforcer l effet esquisse FIG 7 13 Style sketchy d coupage s quentiel L effet gribouillage est ici produit en utilisant un d coupage s quentiel pour lequel les pr dicats de coupure de d but et de fin de cha nes sont d coupl s et en appliquant aux traits ainsi construits un shader de bruitage spatial 200 chapitre 7 R sultats CO a A PA IN 4 CV FIG 7 14 Style oriental Cette imitation de style oriental a t r alis e l aide de deux modules de style simulant respectivement un gros pinceau et un pinceau de taille moyenne Ces deux modules de style utilisent notamment des shaders de racco
97. lignes et des informations le graphe de vue Dans cette section nous motivons et pr sentons le raffinement des lignes caract ristiques et leur organisation au sein d un graphe le graphe de vue 4 2 1 Pourquoi et comment structurer les lignes caract ristiques B Nous choisissons un raffinement et une organisation des lignes caract ristiques qui s appuient sur les informations consid r es pour la description de style Comme nous l avons vu plus haut ce sont les lignes caract ristiques 3D qui constituent le point de d part du processus de cr ation des traits de l image finale La structuration de l ensemble des points caract ristiques en cet ensemble de lignes s appuie uniquement sur des consid rations g om triques 3D et on peut se demander s il n existe pas une organisation qui soit plus adapt notre objectif Dans notre approche la d finition des traits en termes de topologie et d attributs vi suels s appuie d une part sur la mani re dont les projections des lignes caract ristiques sont arrang es dans l image et d autre part sur un sous ensemble des informations d finies la section 4 1 2 Il semble donc pertinent de s appuyer davantage sur ces informations pour d finir une subdivision des lignes caract ristiques Par exemple si on consid re l information d invisibilit quantitative et que l on suppose que le style d sir par l utilisateur consiste cr er des traits noir
98. milieu La colonne de droite montre un zoom sur l ensemble initial de lignes haut sur l image de gauche milieu sur l image du milieu bas On remarque que bien que toutes les tuiles y soient dessin es l image du milieu contient une complexit moindre que l image initiale la densit a priori pour assigner des seuils plus hauts lorsque la densit a priori est faible dans la direction du trait courant Ceci permet d viter l omission syst matique des lignes horizontales dont la densit causale est haute du fait du nombre potentiellement grand de lignes verticales qui les croisent La figure 6 12 illustre l utilisation des diverses mesures de densit pour contr ler l encom brement mais pr server l impression visuelle de masse L objet complexe comprend beaucoup de lignes presque parall les non n cessairement rectilignes et nous utilisons abondamment de l information de densit a priori directionnelle pour traiter les lignes en fonction de la pr sence ou non de voisins presque parall les Nous commen ons par s lectionner les lignes qui sont entour es de lignes presque parall les c est dire ayant une haute densit anisotro pique en exploitant le profil directionnel de la densit a priori section 6 4 3 Ces lignes sont ensuite tri es par longueurs d croissantes et dessin es en utilisant la densit causale pour diriger l omission de lignes en bas gauche Dans une seconde pas
99. n ficie en synchronisation par l ments sont les informations li es au dessin en cours C est donc sur ce crit re que l on valuera le besoin d un op rateur fonctionner dans ce mode L op rateur de dessin par exemple est justement celui qui met jour l image finale et doit par cons quent n cessairement fonctionner ainsi rateurs 135 pour permettre d autres op rateurs de b n ficier d informations sur le dessin en cours On se pose maintenant la question de savoir parmi les autres op rateurs quels sont ceux qui requi rent un acc s l information du dessin Il est important de noter que ce choix n a pas les m mes r percussions pour tous les op rateurs Pour un op rateur fixe pouvant priori b n ficier des informations disponibles dans un mode ou l autre choisir l un des deux modes de synchronisation revient renoncer l autre et donc l acc s l un des deux types d informations Un op rateur flottant en revanche pourra tre appel dans un sous pipeline ou l autre en fonction des besoins et un op rateur flottant et multiple pourra tre appel dans plusieurs sous pipelines diff rents et ainsi utiliser les deux types de synchronisation dans le m me module de style Op rateur de dessin Comme nous venons de le dire l op rateur de dessin doit n cessairement fonctionner en mode de synchronisation par l ment Cet op rateur tant unique il fonc tionnera uniquem
100. ne doivent pas non plus tre de grain trop fin de mani re repr senter un apport cons quent la programmation d un style par rapport une programmation ne les utilisant pas en pratique seule la partie de plus haut niveau du code de description de style est laiss e la charge de l utilisateur Concr tement suivre approche programmable signifie qu il faut fournir l utilisateur un environnement de programmation auquel sont int gr s un ensemble de structures et d op rateurs programmables d di s la description de style Les op rateurs doivent tre suf fisamment g n riques pour permettre la mod lisation de n importe quel style mais galement suffisamment riches pour repr senter une m thodologie efficace de la mod lisation de style Un acc s facile et complet aux informations de la sc ne e g nature des lignes profondeur doit par ailleurs galement tre fourni l utilisateur Finalement l environnement de program mation doit tre suffisamment volu pour permettre la formulation d op rations complexes et supporter une programmation interactive c est dire que le code doit tre interpr t ou compil la vol e et ex cut suffisamment rapidement pour pouvoir visualiser interac tivement les effets de modifications apport es au programme de mani re autoriser une exp rimentation confortable R sum Dans notre approche programmable le style est sp cifi par l u
101. nes g n rales En 1995 Preim et al PS95 s int ressent galement la question de simplification de dessins au trait Leur syst me permet l utilisateur de sp cifier interactivement sur le des sin quelles r gions doivent tre affich es avec plus de d tails Les lignes peuvent alors tre omises ou au contraire renforc es raccourcies ou laiss es leur longueur originale de fa on enrichir ou purer telle ou telle zone du dessin Dans cette perspective les auteurs d finissent la pertinence relevance d une ligne comme une fonction de sa longueur de sa distance au point de vue et de la densit de lignes dans l environnement De mani re similaire notre approche peut utiliser l omission ou des effets stylistiques pour simplifier un dessin et elle int gre galement la notion de priorit sur les lignes En revanche notre but n est pas de simplifier une zone la demande de l utilisateur mais de d tecter automatiquement les lignes omettre en fonction de la strat gie de simplification choisie Les notions d encombrement de densit et de ton sont reli es entre elles et des travaux de NPR se sont appuy es sur les techniques de demi ton pour produire un ton l aide de primitives de traits Deussen et al proposent une approche de simplification d di e la v g tation et aux arbres En se basant sur la hi rarchie d un arbre ils remplacent les groupes complexes d objet
102. nous laissons pour le moment en suspens B Nous nous concentrons sur la g n ration d images statiques Finalement nous avons choisi dans un premier temps de nous focaliser sur la g n ration d images statiques plut t que de s quences anim es ou interactives En effet pour animer des rendus stylis s il est essentiel de g rer la coh rence des marques d une image l autre afin d viter l inconfort visuel d de multiples changements intervenant sur les traits entre deux images Les travaux portant sur ce sujet KDMFO03 Bou98 ont montr qu il existe n cessairement une contradiction entre le respect du style chaque image et le maintien de 9 la coh rence temporelle Assurer la coh rence temporelle signifie donc r aliser un compromis entre respect du style et confort visuel Il nous a sembl n cessaire de commencer par tudier la mod lisation de style dans un cadre statique avant de l tendre l animation qui pose des probl mes la fois sp cifiques et difficiles Au chapitre 8 nous donnons de mani re informelle nos id es quant une telle extension Approche choisie B Nous choisissons une approche programmable L approche que nous avons choisie d coule du postulat nonc pr c demment L expression d un style comme la mise en relation d un ensemble d attributs avec un ensemble d informa tions voque fortement les syst mes bas s sur les shaders programmables utilis s
103. offre un potentiel de suggestion int ressant En illutration arch ologique par exemple les formes suppos es de parties manquantes sont esquiss es plut t que trac es pr cis ment de mani re laisser percevoir l incertitude relative leur apparence exacte Ou encore en architecture les croquis de futurs b timents conservent souvent une allure d bauche permettant de masquer le manque de d tails inh rent ce type de plans En informatique graphique la cr ation de contenu reste ce jour un travail long et fastidieux dans la mesure o un rendu r aliste ne peut se satisfaire de sc nes trop simples ou incompl tes Le NPR en autorisant des contenus plus simples ouvre la porte aux techniques de cr ation rapide et intuitive de mod les 3D IMT99 CHZ00 B L abstraction peut tre plus esth tique que le r alisme D autre part pr f rer l abstraction au r alisme peut aussi videmment relever d une pr f rence esth tique Apr s tout les peintres eux m mes apr s tre parvenus imiter la perfection la r alit s en sont d tourn s pour faire na tre le cubisme l impressionnisme etc Dans le domaine de l animation malgr l av nement r cent de la synth se d images 1 1 Pourquoi faire du NPR 3 avec des films tels que Final Fantasy de plus en plus de studios s int ressent des aspects dessin s stylis s dans leurs productions cf figure 1 2
104. passer ici en revue quelques unes des techniques d acc l ration pour la d tection de silhouette 31 Algorithme 2 3 D tection de silhouette Fonction DetectSilhouette Entr e V le point de vue L ensemble F des faces du maillage L ensemble A des ar tes du maillage Sortie Le sous ensemble S de A appartenant l approximation de la silhouette 1 pour fEF 2 N la normale f 3 P un point de f 4 si P V N gt 0 5 alors l orientation de f est avant 6 7 8 9 sinon l orientation de f est arri rre pour a fa fo lt les faces adjacentes a si les orientations de fa et f sont oppos es 10 alors a S Markosian et al MKT 97 proposent une approche avec perte ils d terminent les ar tes de silhouette en temps interactif l aide d une approche probabiliste Ils s appuient sur le fait que seul un faible pourcentage des ar tes du maillage appartient la silhouette et que celle ci est le plus souvent constitu e de longues cha nes d ar tes en examinant une petite fraction des ar tes du maillage et en prolongeant la recherche le long des ar tes adjacentes celles identifi es comme silhouette il est probable qu une grande partie des ar tes de silhouette a t d tect e Il s agit alors de bien choisir les ar tes initiales de la recherche Markosian et al exploitent dans ce but la forte coh rence entre les silhouettes de deux images successives d une ani
105. pend donc de la densit constat e sur le dessin Tardi 1990 Casterman Tar90 Jusqu ici nous avions concentr nos observations sur les aspects de style bas niveau c est dire la couleur ou l paisseur des traits Pour l illustration de la figure nous allons laisser ces aspects de c t et nous concentrer sur un l ment de style de plus haut niveau l omission de lignes Il est tr s courant dans l illustration au trait d omettre un certain nombre de d tails en particulier lorsque ceux ci sont trop petits de mani re ne pas surcharger le dessin Ce type de simplification est notamment in vitable d s que la perspective est importante dans la repr sentation de la sc ne La quantit de d tails repr sent s le choix dans les lignes omettre etc varient d un artiste l autre et font partie int grante de son style On peut ici se poser la question de savoir s il est possible de trouver dans la sc ne une raison pour l omission de telle ligne plut t que d une autre Puisque le but d une telle simplification est de finalement obtenir un dessin de densit raisonnable on peut imaginer que l omission de lignes dans une zone donn e du dessin doit tre d autant plus importante que la densit de lignes y est d j grande On peut ainsi tenter de relier l omission de lignes a une information extraite non pas de la sc ne mais du dessin lui m me la densit de lignes d ja trac es
106. perturber l paisseur des traits Ces deux exemples ont t r alis s avec des param tres am plitude et fr quence diff rents e et f Les traits sont trac s en couleur sans shader de bruit e et avec shader de bruit f silhouette de la sph re varie contin ment au travers des occultations Le shader programmant cet attribut s appuie donc sur une param trisation couvrant une cha ne s tendant au travers des parties cach es bien que le trait ne soit lui trac que sur les parties visibles Cette idee peut tre tendue la notion de param trisation multiple pour laquelle dans un m me module de style plusieurs shaders diff rents peuvent s appuyer sur plusieurs cha nes vir tuelles diff rentes et donc sur plusieurs param trisations Sur la figure 5 19 b par exemple on fait varier deux attributs l paisseur et la couleur selon deux param trisations diff rentes Ce type de param trisation multiple est r alisable gr ce la possibilit de programmer les it rateurs de cha nage et les shaders En revanche une telle programmation reste quelque peu fastidieuse avec notre impl mentation actuelle 149 Ce L FIG 5 18 Shaders standard rognage tirement lignes directrice et calligraphie a Les portions extr males des traits ont t supprim es sur une longueur sp cifi e par l utilisateur TipRemoverShader b La g om trie des traits est tir e d une longue
107. plan contenant t et N au point P t est appel e la courbure normale Les courbures principales maximum Kmaz et MINIMUM min Correspondent aux maximum et minimum de lorsqu on balaye la famille de plans Ces courbures principales sont d finies respectivement par rapport aux directions tmax et tmin Les contours suggestifs Les contours suggestifs ont t introduits en 2003 par DeCarlo et al et correspondent intuitivement aux points qui sont des presque silhouettes c est dire des points qui appartiendront la silhouette sous des points de vue voisins Les contours suggestifs peuvent tre combin s aux contours de silhouette dans la mesure o ils les tendent ou les compl tent Ils sont d finis comme l ensemble des points de la surface pour 22 chapitre 2 tat de l art FIG 2 8 Types des lignes cr tes et vall es a Les lignes de cr te bleu et de vall e rouge Ohtake et al JOBS04 b gauche sans contour suggestif et avec droite DeCarlo et al JDFRS03 lesquels la courbure radiale change de signe et augmente en se rapprochant du point de vue Les contours suggestifs sont illustr s par la figure 2 8 b Courbure radiale La courbure radiale en P est la courbure normale de la surface en P dans la direction w w tant d finie comme la projection du vecteur vue V P sur le plan tangent la surface en P cf figure 2 9 La courbure radiale et donc l
108. pointill pour les lignes du compresseur dont l information de visibilit n est plus jour c On utilise un cha nage avanc qui permet de chainer au travers des occultations suffisamment petites pour boucher les trous dus l omission de lignes de la grille d Le r sultat final une telle simplification est bien adapt e l affectation d attributs de type esquisse e Un gros plan sur la petite roue du compresseur trac e avec l ensemble des lignes initiales f apr s simplification de la grille on voit clairement Veffet pointill sur les traits du compresseur g apr s utilisation du chainage au travers des petites occultations les traits ont t construits au travers de ces petites occultations 198 chapitre 7 R sultats FIG 7 11 Style sketchy lignes de construction La combinaison d un module de style pour les lignes de construction avec un module de style dessinant des traits d finitifs pour les lignes suffisamment proches permet d obtenir un style d esquisse inachev e En haut les mod les 3D en bas les dessins produits par notre syst me Style oriental Nous avons ici tent d imiter un style oriental l aide de deux modules de style simulant deux tailles de pinceaux diff rentes Pour ces deux modules le travail concerne principalement les attributs bas niveau de style les traits sont raccourcis aux extr mit s et d importantes variations d paisseur
109. pr sent des m thodes puissantes de contr le de ton et de complexit dans un dessin au trait Cependant elles s appuient souvent sur une sp cification manuelle de strat gies d omission et de seuils de densit Notre travail en revanche se focalise sur la d termination automatique de la complexit de la r p tition ainsi que sur l laboration de strat gies pour le contr le de l encombrement dans le dessin au trait Contributions pr sent es dans ce chapitre Nous pr sentons une approche g n rale pour contr ler la simplification de dessin au trait bas e sur l omission et la stylisation de lignes Nous introduisons des mesures de densit pour quantifier la complexit visuelle dans un dessin Nous commen ons par d finir une information de densit a priori qui capture quelle complexit visuelle aurait le dessin si toutes les lignes 6 1 Introduction 155 b c d Fic 6 1 Elagage uniforme et indication Avec l lagage uniforme les traits sont omis de fa on homog ne La simplification d une structure r guli re est ainsi galement r guli re a Dans cette illustration l artiste a omis des traits selon un lagage uniforme dans sa repr sentation des murs de briques Une illustration dans laquelle appara t un mur de brique b Un agrandissement sur l un des murs sur lequel on voit clairement que des traits ont t conserv sur l ensemble de la surface du mur Valles et Van Hamme
110. recouvrent soit sont disjoints R gles Pour les deux op rateurs de d coupage la p riode d chantillonnage utilis e pour parcourir les points d un trait est un param tre sp cifi par l utilisateur Les autres r gles varient entre les deux types d op rateurs et sont tudi es ind pendamment 128 D coupage s quentiel Le contr le sur cet op rateur se fait l aide de deux pr dicats unaires travaillant sur des points Le premier positionne les points de d but de cha ne tandis que le deuxi me positionne les points de fin de cha ne D coupage r cursif On identifie trois r gles pour cet op rateur La premi re est la fonction valu e par l algorithme de d coupage r cursif dont le minimum identifie le point de coupure La deuxi me est le pr dicat de r cursion C est un pr dicat unaire travaillant sur des traits Si ce pr dicat n est pas v rifi sur un trait candidat tre coup en deux la r cursion s arr te La troisi me r gle est un pr dicat unaire travaillant sur des points qui permet de faire une pr s lection des points candidats tre des lieux de coupure Il est par exemple fr quent de vouloir pr venir une coupure si le point v rifiant le minimum de la fonction se trouve proche d une extr mit du trait Cette condition peut tre sp cifi e l aide d un pr dicat ne s lectionnant comme candidats la coupure que les points dont l abscisse curviligne est compr
111. remarquons que les traits d un dessin ne suivent souvent pas exactement la g om trie sous jacente exception faite des illustrations techniques Ainsi l op rateur de shading peut modifier la position spatiale des points de l pine dorsale d un trait Cette technique est d une certaine mani re similaire la technique de displacement mapping bien connue en mod lisation 3D proc durale EMPT94 Plusieurs op rateurs de shading peuvent tre appliqu s s quentiellement un trait de mani re faciliter le contr le de diff rents attributs au sein d un m me module de style Par exemple un premier shader peut affecter la couleur tandis que le deuxi me affecte l paisseur En outre les attributs peuvent tre affect s un trait de mani re absolue la valeur pr c dente est remplac e ou relative la valeur pr c dente est modifi e La modification relative d at tributs est particuli rement utile pour ajouter une petite quantit de bruit apr s que d autres shaders aient affect des valeurs pour un attribut donn La figure 5 4 montre des exemples d op rateurs de shading Lorsque la fr quence des variations d un attribut donn est trop importante pour l chantillonnage courant d un trait un attribut tant associ un sommet du trait cette situation se produit lorsque le nombre de sommets est insuffisant il est possible de sp cifier un r chantillonnage adapt du trait ce r
112. section 2 1 2 que la silhouette d une surface passe par les points o la normale est perpendiculaire la direction de vue Avec les maillages polygonaux on ne dispose que d une discr tisation surface exacte et donc que d une approxi mation lin aire par morceaux de cette derni re La d tection des points de silhouette n est donc pas directe dans la mesure o il est tr s peu probable que celle ci passe exactement par les sommets du maillage i e les chantillons de la surface La majorit des techniques se contentent toutefois de calculer une approximation grossi re de la silhouette en d terminant l ensemble des ar tes du maillage qui sont bord es par une face vue de devant et une face vue de derri re cf figure 2 14 Malgr sa grande impr cision cette approximation se r v le souvent suffisante dans la mesure o les plus grands carts par rapport la silhouette exacte se trouvent dans des plans tangents la direction de vue et disparaissent donc lors de la pro jection dans l image nous verrons un peu plus loin qu il existe tout de m me une technique permettant de calculer une meilleure approximation de la silhouette L algorithme de base approche force brute permettant la d termination des ar tes de cette approximation polygonale de la silhouette consiste parcourir dans un premier temps l ensemble des faces du maillage afin de les marquer avant ou arri re selon leur orientation par rapport au po
113. selon le sch ma undirectionnel et le sch ma bidirectionnel a o b B c FIG 5 6 Op rateurs de chainage uni et bi directionnels a L ar te E du graphe de vue initie le processus de cha nage La r gle d arr t qu on utilisera dans les deux cha nages consiste s arr ter aux ar tes cach es en pointill b Le trait orange est ici construit l aide d un chainage unidirectionnel c Le trait orange est ici construit l aide d un chainage bidirectionnel L op rateur de chainage bidirectionnel permet de construire les cha nes les plus longues respectant les contraintes fix es c est le sch ma de chainage le plus couramment employ L op rateur de chainage unidirectionnel offre un contr le plus fin sur les ar tes de d but de cha nes ce qui est parfois souhaitable ces ar tes ayant en r gle g n rale t sp cifiquement s lectionn es dans cette perspective par un appel ant rieur l op rateur de s lection Gr ce ces deux op rateurs on peut construire des traits constitu s de plusieurs ar tes connexes du graphe de vue L op rateur de chainage est la cl de vo te d un module de style C est suite son uti lisation que les objets manipul s dans ce module de style ne sont plus des ar tes du graphe mais les traits qui seront terme trac s dans l image finale Le chainage peut par exemple tre utilis pour construire un unique trait d crivant le con
114. sultats sous une autre perspective celle des fonctionnalit s de notre approche 7 3 1 Organisation par fonctionnalit s Dans cette section nous proposons une liste des fonctionnalit s principales et originales de notre syst me et pour chacune d elles nous r f ren ons les images qui en permettent l illustration Segmentation en calques avanc e Le syst me de calques s appuyant sur l op rateur de s lection et cet op rateur tant programmable les possibilit s de regroupement des lignes de la sc ne en calques est infinie Cette fonctionnalit est illustr e par les figures 7 7 7 91 7 10 et 7 11 Contr le de la toplogie des traits Notre syst me est le premier offrir l utilisateur un contr le sur la topologie des traits construits Ce contr le est en outre particuli rement flexible dans notre cas dans la mesure o deux types d op rateurs diff rents chainage et d coupage lui sont d di s et que ces op rateurs sont programmables Le contr le sur 191 la topologie des traits est illustr par les figures 7 10 chainage au travers des petites occultations 7 11 extr mit s des traits aux points de haute courbure 7 12 construc tion de traits passant plusieurs fois par les m mes endroits et 7 13 cr ation de traits se recouvrant D pendance attributs informations Tous les styles que nous montrons ici expriment
115. techniques de d tection de points caract ristiques nous per mettent de construire un ensemble de segments caract ristiques sur ces surfaces des ar tes du maillages pour les ar tes vives et les bords des segments traversant les faces pour les silhouettes Il est n cessaire de disposer pour le maillage initial d une structure contenant les infor mations d adjacences e g winged edge Gla91 Il s agit ensuite de construire les courbes de C partir de cet ensemble c est dire les plus grandes parties connexes topologiquement quivalente a une ligne qui sont la base de d part 96 chapitre 4 Informations utiles aux d cisions stylistiques structuration du graphe de vue La structure d adjacence du maillage nous permet galement de facilement mener bien cette tape La premi re op ration consiste marquer d une mani re ou d une autre les faces par lesquelles passent une ou plusieurs lignes caract ristiques Pour chacune de ces faces on a donc un ou plusieurs segments ces derniers pouvant tre des ar tes du maillage faisant partie de l une ou l autre des lignes caract ristiques Dans l tape suivante on construit des cha nes partir de ces segments isol es on parcourt les faces pour rep rer ceux qui contiennent plus d un segment caract ristique et calculons ventuellement le sommet correspondant l intersection si elle existe de ces segments caract ristiques Les li
116. the 14th annual conference on Computer graphics and interactive techniques pages 163 169 New York NY USA 1987 ACM Press Jintae Lee Simulating oriental black ink painting IEEE Comput Graph Appl 19 3 74 81 1999 A Lake C Marshall M Harris and M Blackstein Stylized rendering tech niques for scalable real time 3d animation In Non Photorealistic Animation and Rendering 2000 MAZD85 Mei96 MH04 MKT 97 MMK 00 Mus97 NHO1 NM00 OBS04 Ope02 Ost99 PD90b Per85 PHMFO01 PS95 Ras01 RC99 RKS00 223 E H Wold M A Z Dippe Antialiasing through stochastic sampling Proc SIGGRAPH 1985 B Meier Painterly rendering for animation Proc SIGGRAPH 1996 Morgan McGuire and John F Hughes Hardware determined feature edges In Proceedings of the 8rd international symposium on Non photorealistic animation and rendering pages 35 147 ACM Press 2004 L Markosian M Kowalski S Trychin L Bourdev D Goldstein and J Hughes Real time nonphotorealistic rendering Proc SIGGRAPH 1997 L Markosian B Meier M Kowalski L Holden J D Northrup and J Hughes Art based rendering with continuous levels of detail In Non Photorealistic Ani mation and Rendering 2000 David R Musser Introspective sorting and selection algorithms Software Practice and Experience 27 8 983 993 1997 Masaru Nomura and Nozomu Hamada Feature edge extraction
117. toutes ses lignes y compris les lignes cach es a l exception de celles qui sont cach es par l objet lui m me C est l information d occultation qui permet de conna tre pour une ligne donn e quelle est la liste des objets qui la cachent et donc de savoir si cette ligne est notamment cach e par l objet auquel elle appartient Cette technique est illustr e par la figure 3 20 3 3 Informations 73 FIG 3 18 Informations nature des lignes Dans cette illustration des poids ont t attribu s aux lignes en fonction de leur nature les lignes A et C sont des contours ext rieurs elles tracent une fronti re entre l objet et le fond et ont t trac es avec le poids le plus fort la ligne D est un contour elle trace une fronti re entre l objet et un autre objet elle est trac e avec un poids l g rement moins important la ligne E est une silhouette sur sa moiti inf rieure et une ar te vive sur sa moiti sup rieure Elle a donc t trac e avec la m me paisseur qu un contour sur sa partie silhouette et avec un trait plus fin sur sa partie ar te vive enfin la ligne F est une ar te vive trac e avec le poids le plus faible Conrad Taylor 2003 Tay03 FIG 3 19 Informations invisibilit quantitative a Les lignes cach es sont affich es en blanc dans un style plus discret que les lignes visibles ITEDO www itedo com b La couleur et le poi
118. traits bande de triangles 5 21 Rendu des traits simulation des media 6 1 Elagage uniforme et indication 6 2 Simplification de dessins au trait travaux ant rieurs 6 3 Mesures de densit vue d ensemble 6 4 Pyramides des cartes de densit a prior 6 5 Simplification s appuyant uniquement sur la densit a priori 6 6 Profils de la densit a priori selon l chelle et la direction 6 7 Ordonnancement des traits 6 8 R gularit dans la distribution de lignes 6 9 Influence de l augmentation de o sur la r gularit de la distribution des lignes 6 10 lagage uniforme d un toit tuiles 6 11 Simplification uniforme d une grille 6 12 Utilisation du profil directionnel de la densit a priori 6 13 Simplification suivant la strat gie d indication 6 14 Image des gradients calcul s sur la densit a priori 7 1 Exemple de style simple 7 2 Premier module de style lignes de construction 7 3 Deux me module de style contour ext rieur calligraphique TA Troisi me module de style lignes visibles internes 7 5 G n ricit de la feuille de style 7 6 Style dessin anim 7 7 Rendu de la vierge dans un style Renaissance 7 8 Style i
119. tudions des illustrations r elles et tachons d exprimer le style de chacune en terme de mise en relation entre attributs de style et informations Ceci permet de d montrer le bien fond de notre postulat de d part et sert galement d introduction informelle l approche que nous avons d velopp e Le chapitre 4 liste l ensemble des informations que nous avons identifi es comme utiles dans le cadre de la description de style En outre nous y d crivons le graphe de vue qui est la structure au sein de laquelle les informations sont organis es et au travers de laquelle elles sont accessibles Le chapitre 5 pr sente les outils de description de style Nous y proposons une d composition du processus de dessin sous forme d une s rie d op rations e g s lection chainage d coupage shading Ces op rations servent construire les traits qui constitueront le dessin final partir des ar tes du graphe de vue L utilisateur programme un style l aide de ces op rations Dans le chapitre 6 nous examinons plus sp cifiquement un probl me classique du rendu de dessin au trait le trop grand nombre de lignes Ce probl me inh rent la nature m me de la technique se pr sente d s que des objets dont la taille de projection dans le dessin est trop petite sont dessin s De nombreuses strat gies de simplification ont t introduites par les artistes et nous servent d exemples Nous utilisons plus particuli rement une
120. un cadre formel int ressant l tude de style B L analyse structurelle du style n a commenc que r cemment Depuis plusieurs si cles les historiens de l art tudient les styles observ s aux diff rentes poques au travers du prisme socio culturel Gom95b Ce n est que r cemment que des tra vaux se sont int ress s au style d un point de vue structurel Willats en particulier Wil97a s est appuy sur la recherche actuelle en perception visuelle et en intelligence artificielle pour d velopper une classification et un vocabulaire pr cis d di s la description du processus de cr ation d images Nous nous appuyons sur cette classification pour sp cifier le style Par ailleurs ses m thodes plus proches de celles d un linguiste moderne que de celles d un histo rien de l art ont t une source d inspiration pour cette th se Toutefois aujourd hui encore il n existe pas de v ritable consensus sur les l ments constitutifs du style et donc pas de d finition pr cise du concept de style 5 B Quatre syst mes pour d crire la repr sentation picturale En 2002 Durand Dur02a a repris un d coupage propos par Willats Wil97a et introduit une classification g n rale en quatre syst mes pour d crire les techniques de repr sentation incluant les techniques artistiques classiques Le syst me spatial fait correspondre les propri t s spatiales 3D et les propri t s spatiales 2D
121. un manque dans la base d op rateurs elle m me 203 Nos exp riences et observations n ont en tout cas jamais remis en cause cette liste d at tributs Choix des lignes caract ristiques Comme nous l avions mentionn dans le chapitre 2 la d finition g om trique des lignes caract ristiques reste ce jour un sujet de recherche tr s actif Pour cette raison les familles de lignes caract ristiques voluent rapidement Notre approche ne fait aucune supposition sur la nature des familles de lignes caract ristiques d tect es en entr e ni sur leur nombre Elle est donc parfaitement extensible de nouvelles familles de lignes En terme d impl mentation il serait bien s r n cessaire de modifier la base de code du syst me mais l architecture de ce dernier a t pens e de mani re permettre facilement une telle int gration En particulier le code de construction du graphe de vue qui est le plus sen sible l ajout d une famille de lignes caract ristiques est pr vu pour g rer automatiquement toute ligne caract ristique passant par les ar tes du maillage ou en traversant les faces Remarque L ajout d une nouvelle famille de lignes caract ristiques ne constitue pas un ajout d information mais un ajout d une valeur une information discr te existante l information de nature des lignes Comme nous allons le voir dans la prochaine section l ajout d une information peut en revanche re
122. utilisateur Ensuite nous commentons des images g n r es en rendant des exemples de sc nes 3D dans des styles vari s Pour chacune les attributs les informations et les r gles de style les mettant en relation sont d crits 7 1 Code source de r gles de style Avant de d tailler un exemple de code source de module de style nous montrons dans cette section des exemples de code source pour chacune des r gles auxquelles l utilisateur a acc s dans le cadre de la programmation d un module de style savoir les fonctions 0D 1D les pr dicats unaires 0D 1D les pr dicats binaires 1D les it rateurs et les shaders Tous ces exemples sont donc programm s en Python et utilisent de mani re plus ou moins importante les m canismes d finis par notre syst me Il est important de souligner que la programmation que nous allons voir et qui est attendue de l utilisateur consiste la plupart du temps surcharger un ou deux op rateurs tout au plus et que de nombreux m canismes rendent cette t che relativement ais e 7 1 1 Fonctions Comme nous l avons mentionn dans le chapitre 4 il existe deux grandes familles de fonctions les fonctions OD et les fonctions 1D que nous illustrons chacune par un exemple de code Fonctions 0D L exemple de code que nous allons montrer ici correspond a l impl mentation Python d une fonction O0 dimensionnelle Ce type de programmation est typique de celle que doit
123. wedge d fini dans l espace dual par les deux positions prises par le point de vue l image pr c dente et l image courante tique de lignes caract ristiques 33 Sander et al SGGT00 introduisent la notion de c nes ancr s anchored cones qui coupl s avec un arbre de recherche permettent de calculer la silhouette en temps r el L id e est de repr senter pour un ensemble d ar tes du maillage le sous espace des points de vue pour lesquels toutes les faces adjacentes ces ar tes ont la m me orientation avant ou arri re par un c ne Il suffit alors de tester si le point de vue courant est inclus dans un c ne test pouvant tre impl ment de mani re relativement rapide pour savoir si tout un groupe de faces sont de m me orientation auquel cas l ensemble des ar tes associ es n appartiennent pas la silhouette La figure 2 16 illustre un tel c ne pour un ensemble de faces Sander et al rangent l ensemble des ar tes du maillage dans un arbre de mani re acc l rer la recherche de celles dont les faces adjacentes ont des orientations diff rentes chaque n ud est associ un ensemble d ar tes du maillage ainsi que le c ne ancr correspondant l ensemble de leurs faces adjacentes Le stockage des ar tes dans les n uds est fait de mani re ce que chaque n ud contienne des ar tes dont les faces sont d orientations proches et l arbre est construit de telle sorte que l ensemb
124. 0 ou 1 selon qu elle s applique une famille auquel la ligne appartient ou non une m me ligne peut appartenir plusieurs familles diff rentes En pratique les natures consid r es dans notre syst me sont les silhouettes les contours suggestifs les ar tes vives et les bords Cette information est d finie en chaque point des lignes caract ristiques Invisibilit quantitative D finie dans N Introduite par Appel et al App67a cf section 2 2 3 Pinvisibilit quantitative est d finie en un point comme le nombre de surfaces se trouvant entre ce point et l observateur Un point visible a une invisibilit quantitative de 0 Objets occultant D finie dans 0 1 Il s agit d un vecteur dont la composante k indique si la surface k appartient la liste des surfaces occultantes c est dire si la surface k se trouve entre l observateur et le point auquel l information est valu e en suivant la direction de vue Discontinuit en profondeur D finie dans R La discontinuit en profondeur en un point d une des lignes caract ristiques est d finie comme la distance entre ce point et le plus proche objet en suivant la direction de vue cf figure 3 21 page 74 Cette information n a de sens que pour les points sur les lignes de silhouette En pratique on la d finit comme nulle sur l ensemble des points des lignes qui ne sont pas des silhouettes Objets cach s D finie d
125. 1 _IP amp I 6 2 202 P T rga et Wo la fonction de pond ration pour lorientation qui d pend de P langle entre la tangente la ligne au point P et 0 sinon wo P a CRED EP FH 5 n contr le la gamme des angles laquelle un point donn de contribue Cette fonc tion de pond ration est utilis e pour assurer une normalisation correcte quand les directions sont discr tis es Elle est reli e aux poids d interpolation directionnels steerable interpolation weights FA91 Comme nous l avons mentionn plus haut dans le contexte simple du disque et de lignes verticales nous utilisons une version normalis e de la fonction gaussienne pour cet estimateur de mani re assurer que la valeur moyenne de la densit des lignes pour le dessin est la m me quelque soit le o utilis pour d finir l chelle de chaque estimation ponctuelle 6 4 2 Cartes de densit a priori De mani re tre efficace en terme de calcul et d acc s nous adoptons les approches de la pyramide et de la pyramide directionnelle et stockons la mesure de densit pour des chelles dyadiques et un nombre donn d orientations Les illustrations qui suivent dans ce chapitre ont t r alis es en utilisant quatre directions dont les angles avec l horizontale sont 0 7 7 ar Les exp riences ont montr que ce nombre tait suffisant pour caract riser la plupart des aspects structurels Nous avons galement choisi
126. 1993 Gl nat VH93 Avec Vindication la complexit est sugg r e l aide de quelques r gions seulement qui sont dessin es en d tail c Des pailles ont t dessin es seulement quelques endroits pour signifier la complexit de la motte de foin Valles et Van Hamme 1995 Gl nat VH95 d Sur ces deux images l artiste a utilis des indications pour dessiner tout un feuillage l aide de quelques feuilles positionn es sur les bords Tome et Janry 1994 Dupuis TJ94 de la vue courante taient dessin es Celle ci est calcul e plusieurs chelles et pour plusieurs directions et peut tre utilis e pour analyser la structure locale de mani re exploiter et viter les structures r p titives charg es Ensuite pendant le rendu la complexit du dessin en cours est estim e au travers d une densit causale Cette information de densit est mise jour chaque fois qu un trait est ajout de fa on similaire Salisbury et al SWHS97 Des d cisions d omission ou de stylisation peuvent alors tre prises partir de cette information pour contr ler finement la complexit de l image finale Nous montrons galement qu il peut tre particuli rement important dans ce contexte de faire pr c der le rendu d un appel l op rateur de tri puisque l ordre dans lequel les traits sont dessin s importe Cet aspect est li aux textures de traits priorit prioritized stroke textures
127. 5 7 __It rateur de chainage ChainPredicatelteraton 143 5 8 Op rateur de cr ation 149 218 ALGORITHMES Bibliographie R f rences scientifiques ACSD 03 Pierre Alliez David Cohen Steiner Olivier Devillers Bruno L amp 233 vy and AG99 Ale01 Apo99 App67a Ari02 BA83 BDG 99 BE99 Bea96 BH98 BKOS00 Bou98 Mathieu Desbrun Anisotropic polygonal remeshing ACM Trans Graph 22 3 485 493 2003 A Apodaca and L Gritz editors Advanced Renderman Creating CGI for Motion Pictures Morgan Kaufmann 1999 Andrei Alexandrescu Modern C Design Addison Wesley C In Depth Addison Wesley Publishing Company New York NY 2001 A Apodaca Photosurrealism In A Apodaca and L Gritz editors Advanced Renderman Creating CGI for Motion Pictures Morgan Kaufmann 1999 Arthur Appel The notion of quantitative invisibility and the machine rendering of solids In Proceedings of the 1967 22nd national conference pages 387 393 ACM Press 1967 Michael Arias Softimage xsi toon shader reference Technical report Avid 2002 Peter J Burt and Edward H Adelson The laplacian pyramid as a compact image code IEEE Trans on Communications COM 31 4 532 540 1983 Gill Barequet Christian A Duncan Michael T Goodrich S Kumar and M Pop Efficient perspective accurate silhouette computation In Symposium on
128. 69 1954 b Sur cette illustration technique l auteur a voulu mettre en vidence un sous ensemble des pi ces du moteur notamment en liminant la plupart des lignes appartenant aux autres parties Kevin Hulsey Illustration Inc www khulsey com c Les d tails des toits des maisons ont t omis de mani re ne pas surcharger le dessin Jiro Taniguchi 2002 Casterman Tan02 Utilisation de multiples styles de lignes au sein d un m me dessin Finalement le dernier attribut de style que nous consid rons consiste utiliser plusieurs styles pour tracer les traits d un m me dessin On distingue le cas o les sous ensembles de lignes de m me style s intersectent du cas o ils forment une partition de l ensemble des lignes Le premier cas signifie qu un certain nombre de lignes sont trac s dans plusieurs styles la fois ces lignes sont donc dessin s l aide de plusieurs instances plus ou moins superpos s du m me trait chaque instance tant trac e dans un seul des styles On observe en particulier ce cas de figure sur les dessins en cours de r alisation pour lesquels l esquisse est encore visible et o une partie des traits finaux ont d ja t trac s comme illustr par la figure 3 11 a 3 2 Attributs de style 67 Dans le deuxi me cas chaque ligne est dessin e par un seul trait mais les styles varient d une ligne l autre Cette technique peut par
129. F 98 Il existe plusieurs avantages d tecter les lignes dans l espace image Premi rement le domaine de la vision par ordinateur nous fournit quantit de d tecteurs de lignes souvent ais s impl menter qu il suffit de r utiliser Ensuite d un point de vue perceptuel il semble plus pertinent de travailler apr s projection c est dire sur ce que l on voit vraiment que dans l espace objet Finalement comme nous le verrons dans la prochaine section la stylisation de lignes n cessite d abord d tre capable de construire de longues cha nes partir de l ensemble des morceaux de lignes d tect es et ensuite de param trer r guli rement cette cha ne Or contrairement l espace objet la question de la param trisation ne pose pas de probl me particulier dans l espace image 28 La d tection de lignes dans l espace image pr sente galement plusieurs d fauts La pr cision par exemple est limit e la r solution des images et cela peut se r v ler insuffisant dans le cas d objets complexes Ensuite si l on veut associer aux lignes des informations extraites de la sc ne 3D il faut passer par une projection inverse co teuse et impr cise Pour ces raisons il nous semble plus int ressant de d tecter les lignes l aide d outils g om triques travaillant dans l espace objet 3D 2 2 2 Espace objet Nous avons vu que les techniques de d tection de lignes caract ristiq
130. IHS02 Groupes d ar tes de silhouette Lorsqu un morceau de surface faible courbure est tan gent la direction de vue les impr cisions dues l approximation polygonale de cette surface deviennent plus vidents On observe notamment souvent une alternance entre les faces d tect es avant et celles d tect es arri re Lors d une d tection de silhouette polygonale la cons quence est que l on obtient un groupe d ar tes de silhouette au lieu d une seule comme illustr par la figure 2 24 a La solution de Isenberg et al ce probl me consiste choisir le plus court chemin passant par la zone probl me et supprimer les autres ar tes La figure 2 24 b illustre un r sultat obtenu avec cette technique L utilisation d approximations plus exactes pour les lignes de silhouette l aide d une m thode telle que celle de Hertzmann et Zorin HZ00 permet d viter ces artefacts 2 3 Construction de traits et affectation d attributs A3 4 FIG 2 24 Rendu de traits groupes d ar tes de silhouette a L approximation polygonale d une surface peut r sulter en un groupe de triangles d tect s al ternativement avant et arri re et donc en un groupe d ar tes de silhouette b La solution consiste choisir le plus court chemin de silhouette passant par la zone probl matique les autres ar tes tant alors supprim es Isenberg et al IHS02
131. L chelle de r gions denses et r p titives peut tre caract ris e en tudiant dp 7 en un point Po donn et pour une direction uo donn e Dans le cas d une r gion complexe faite 6 4 Densit a priori 163 7 pixel 1 pixel 2 pixel 3 density o 0 3 T T pixel pixel 3 massa 0 25 L pixel 4 mem 02 4 2 015 5 v 01 4 0 05 a 0 x T 37 0 4 2 T FIG 6 6 Profils de la densit a priori selon l chelle et la direction Haut quatre pixels choisis des positions particuli res dans les images du toit et de l arbre Milieu Le profil d chelle de la densit a priori pour les pixels 1 2 3 Bien qu ayant des densit s tr s diff rentes basse chelle les trois courbes convergent vers un plateau o 4 Bas Profils directionnels pour les pixels 1 3 4 Les deux premiers profils provenant de l image du toit caract risent une densit anisotropique importante selon la direction horizontale et T Le dernier profil provenant de l image de l arbre correspond par contre une haute densit isotropique de petits motifs r p titifs cette fonction contient un plateau puisque notre estimateur est normalis par l aire de sa r gion support cf section 6 4 1 il donne le m me r sultat mul tiples chelles pour les structures p riodiques d s que l chelle est plus grande que la taille du motif et tant qu elle est plus petite que
132. Les pav s du sol par exemple sont repr sent s avec de moins en moins de traits 62 au fur et mesure que l on s loigne du point de vue et que la densit de traits s accentue sous l effet de la perspective On peut alors proposer une interpr tation pseudo algorithmique de ce style pour chaque ligne l dessiner d densit du dessin en l si d lt seuil dessiner l sinon omettre l Le chapitre 6 tudie en d tail l information de densit et propose diff rents sc narios de simplification bas s sur cette information Bien s r cette information seule ne suffit pas expliquer compl tement les choix qui ont t faits dans cette illustration concernant l omission de lignes Si on regarde le dessin du feuillage de l arbre de gauche par exemple on remarque que certaines zones sont compl tement vides alors que d autres sont repr sent es en d tail On verra dans le chapitre 6 que ce type de simplification est tout de m me rattach l information de densit B Ces descriptions de styles s appuient sur des informations g n riques et sont donc r utilisables Dans tous ces exemples on a caract ris les attributs sp cifiques chaque style mis en vidence des d pendances entre ces attributs et des informations g n rique de la sc ne e g nature des lignes discontinuit en profondeur ou du dessin dans le cas de la densit et finalement d crit chaque styl
133. Making Life b FIG 1 2 Le dessin stylis comme choix esth tique Malgr le r cent succ s des animations photor alistes a image du film Final Fantasy par Square Pictures H Sakaguchi et M Sakakibara 2001 Square Pictures SS01 de nombreux r alisateurs pr f rent opter pour des aspects dessin s fortement stylis s b gauche image du film Les Tri plettes de Belleville par Sylvain Chomet Sylvain Chomet 2003 2d 3D Cho03 droite image tir e du film Waking Life de Richard Linklater r alis selon la technique du rotoscoping Richard Linklater 1991 Lin01 La 3D pour factoriser Le rendu expressif est donc on l a vu un enrichissement pour l informatique graphique En revanche on peut se demander ce que pourrait apporter l utilisation de donn es 3D au monde de l animation traditionnelle et des illustrations B L automatisation permet de gagner du temps En synth se d images on distingue habituellement deux t ches la mod lisation et le rendu compl t es par une phase de d finition de l animation lorsqu il s agit de produire une s quence anim e La mod lisation consiste cr er les mod les 3D et les positionner dans la sc ne L animation d finit les positions des cameras et des objets animables des instants cl s Ces deux op rations concentrent l essentiel des interactions requises aupr s de l utilisateur Le rendu quant lui se charge de g n rer a
134. NPR pour g n rer des illustrations Cette s quence d images montre le processus de cr ation du dessin l aide d une colonie de fourmis chacune tra ant un trait en s appuyant sur l information de gradient calcul e dans l image pour d terminer son chemin Semet et al SODO4 Style peint On peut noter que les techniques de Haeberli et al ou Hertzmann et al vues pr c demment pourraient tre utilis es avec des sc nes 3D il suffirait pour cela de faire un rendu normal de la sc ne et d utiliser leurs algorithmes sur cette image Il peut cependant tre plus int ressant d exploiter mieux l information 3D En particulier dans le cadre d une animation les techniques pr c dentes ne permettent pas d assurer la coh rence temporelle et souffrent notamment de l effet rideau de douche o la stabilit dans l espace image des coups de pinceau d une image l autre donne l impression que la sc ne est film e travers justement un rideau de douche fixe En 1996 Meier Mei96 r sout ce probl me en s appuyant compl tement sur la 3D pour produire un rendu imitant une peinture ex cut e l aide de coups de pinceau les supports des coups de pinceau 2D sont des particules 3D r guli rement r parties sur les maillages triangulaires Ainsi lorsque le point de vue change les coups de pinceau collent aux objets offrant de cette mani re une impression de coh rence temporelle plus naturelle La f
135. Universit Joseph Fourier de Grenoble UJF Le style dans le rendu non photor aliste de dessins au trait partir de sc nes 3D une approche programmable St phane GRABLI Th se pr sent e le 24 mars 2005 pour l obtention du titre de Docteur de l Universit Joseph Fourier Sp cialit Informatique Arr t Minist riel du 5 juillet 1984 et du 30 mars 1992 Pr par e au sein du laboratoire ARTIS GRAVIR IMAG INRIA UMR CNRS C5527 Composition du jury Fran ois SILLION Directeur de th se Georges Pierre BONNEAU Pr sident du Jury Victor OSTROMOUKHOV_ Rapporteur Thomas STROTHOTTE Rapporteur Fr do DURAND Examinateur Remerciements De nombreuses personnes ont contribu d une mani re ou d une autre cette th se je tiens ici les remercier Merci donc Fran ois Sillion mon directeur de th se pour m avoir guid dans ma d couverte de la synth se d images et de la recherche et ce en d pit des r currentes p nuries de stylos qui compliqu rent sa t che Claude Puech pour avoir rendu cette exp rience possible en m ac cueillant tr s t t au sein de son laboratoire et de l quipe IMAGIS Fr do Durand pour m avoir invit au MIT pendant sept mois et co encadr de mani re informelle ce fut une formidable exp rience et l occasion d une collaboration fructueuse la r gion Rh ne Alpes pour avoir financ ce s jour par le biais de la bourse eurodoc Victor Ostromouhov Thomas Strot
136. a n par cette sim plification il y a une incoh rence entre la visibilit induite par la grille initiale et celle que l on devrait avoir avec la grille simplifi e Pour corriger ce probl me on programme un it rateur de chainage avanc qui permet de boucher les petites occultations lorsqu une ar te cach e est rencontr e au cours du cha nage un parcours pr dictif permet de conna tre la taille relative 196 de la r gion cach e entam e par cette ar te par rapport a la taille de la chaine complete lorsque les occultations ne sont pas prises en compte Si cette taille est suffisamment petite Var te est s lectionn e Un tel chainage permet de construire des traits continus au travers des petites occultations comme on peut le voir sur la figure 7 10 c Ce type de combinaison simplification chainage est parfaitement adapt e une mise en style de type esquisse cf figure 7 10 d qui tol re les quelques impr cisions r sultant d un tel processus Style esquiss De nombreux styles sont regroup s sous cette appellation Tous les styles donnant la claire impression visuelle de dessins faits la main tombent dans cette cat gorie On distingue diff rentes techniques qui participent donner cette impression visuelle Lignes de construction L un des effets qui permettent de donner un aspect esquisse un dessin est l ajout de lignes de construction En associant
137. a tre si besoin est le contexte 1D auquel appartient le point cf chapitre 4 pour plus de d tails ce sujet Cette m thode contient les instructions appliquer cet it rateur et qui d finissent le comportement de la fonction Finalement pour faciliter la lecture des exemples de code nous faisons quelques rappels sur les bases de Python Python est un langage objet les variables ne sont pas typ es la d claration mais dynamiquement il n a pas de pointeur et les champs d une classe sont acc d s avec l op rateur le mot clef self est quivalent au this du C et est requis pour acc der une donn e membre d une classe y compris dans la d finition d une m thode de cette m me classe le groupement d instructions est uniquement d fini par l indentation pas de comme en C Nous consid rons maintenant l exemple de code suivant 66 99 9 estimateur d anisotropie de la densite causale class pyDensityAnisotropyF0D UnaryFunction0ODDouble level l echelle a laquelle la requete de densite est faite def __init__ self level Appel au constructeur de la classe de base UnaryFunctionODDouble __init_ _ self Construction des functors OD de requete de densite a priori pour les quatre directions et dans la carte a directionnelle self _IsoDensity ReadCompleteViewMapPixelF0D level self dODensity ReadSteerableViewMapPixelF0D 0
138. aces ne passent pas d une surface l autre il ne peut pas y avoir de changement d objet et donc d identit d objet le long d une ligne Mat riau R En pratique bien que les composantes des informations de mat riau soient d finies dans R ces derni res prennent g n ralement des valeurs constantes le long d une ligne le cas le plus courant est de rencontrer un nombre fini de mat riaux dans toute la sc ne Nous avons suppos que les mat riaux taient d finis par objet Dans ce cas de m me que pour l information d identit des objets on ne peut pas avoir de discontinuit de l information de mat riau le long d une ligne Construction pratique du graphe de vue Nous r sumons ici les informations concernant la cr ation de sommets du graphe que nous venons de voir de mani re offrir une m thode pratique de construction du graphe de vue La premi re tape consiste d tecter un ensemble de points caract ristiques sur les sur faces de la sc ne Nous utilisons la technique de Hertzman et Zorin HZ00 pour d tecter les lignes de silhouette les ar tes vives correspondent aux points auxquels sont associ s plus qu une normale les contours suggestifs sont calcul s selon la m thode de DeCarlo et al et finalement les bords sont d tect s comme les ar tes du maillage qui sont bord es par une unique face En pratique les surfaces avec lesquelles nous travaillons sont des maillages polygonaux les
139. aciliter la t che de l utilisateur Dans notre impl mentation le sous pipeline final comprenant l op rateur de dessin est encapsul dans un unique op rateur create Finalement le rendu des traits est fait en s appuyant sur la librairie graphique OpenGL ls L TI Mesures de densit pourla simplification de dessins au trait Dans ce chapitre nous pr sentons une approche pour contr ler l encombrement de lignes dans le rendu NPR de dessins au trait Cette approche s appuie sur une information de densit calcul e dans la vue et sur le dessin Nous d finissons deux types d information de densit la densit a priori et la densit causale et les utilisons pour contr ler quelles parties du dessin doivent tre simplifi es La densit a priori est une mesure de la complexit visuelle du dessin potentiel et est calcul e sur l arrangement complet des lignes de la vue en pratique sur les ar tes visibles du graphe de vue Cette mesure permet de d velopper une approche syst matique pour caract riser la structure des r gions encombr es en terme de g om trie d chelle et de directionnalit La densit causale mesure la complexit du dessin dans son tat courant pendant que les traits y sont ajout s permettant le contr le de l encombrement par omission ou stylisation de lignes Nous montrons comment ces mesures de densit permettent de simplifier un dessin de plusieurs mani res pour lesquelles la complexit
140. age d rivent de la classe de base ChainingIterator Le travail de l utilisateur consiste ici surcharger le constructeur __init__ si besoin est une fonction init diff rente du constructeur d initialisation de chainage qui est appel e avant de commencer chaque nouvelle cha ne et la fonction traverse qui d finit l ar te choisir parmi les candidats pour continuer le chainage En outre le constructeur de cette classe prend en argument deux bool ens indiquant respectivement s il faut cha ner en restant dans la s lection ou non et si les ar tes d j cha n es restent de potentielles candidates Cet exemple de code montre un it rateur de cha nage permettant de produire des styles sketchy en cha nant plusieurs fois la m me ar te Un m canisme de time stamp est utilis pour g rer le nombre de passages par une m me ar te En particulier dans sa m thode init un time stamp est initialis de mani re n autoriser que trois chainages de la m me ar te Dans la m thode traverse on parcourt l ensemble des ar tes candidates et une ar te est arbitrairement choisie pour poursuivre la cha ne Parmi les ar tes candidates seules les ar tes ayant d j t cha n es plus du nombre de fois autoris sont rejet es Iterateur de chainage produisant un style sketchy Cet iterateur peut chainer plusieurs fois la meme arete du graphe de vue de maniere a produire des traits multiples pa
141. aillage polygonal de contr le ce dernier est une version grossi re de l objet et le sch ma d it ration est un sch ma de raffinement qui permet d en obtenir une forme lisse Les surfaces de subdivision permettent une repr sentation r guli re la limite de l it ration sont bien adapt es une dition interactive ainsi qu au rendu dans la mesure o il s agit toujours d un maillage polygonal Les surfaces implicites Les surfaces implicites sont une repr sentation indirecte d une sur face elles sont d finies comme la surface iso potentielle d une fonction de potentiel S P x y 2 f x y z2 0 Cette repr sentation est en particulier bien adapt e l utilisation d op rations CSG et l animation par d formation En revanche elle est peu adapt e un affichage interactif dans la mesure o le passage d une surface implicite un maillage polygonal est fastidieux Les maillages polygonaux constituent la repr sentation la plus populaire une application de rendu et sont pour cette raison la repr sentation la plus courante en synth se d images nous nous focaliserons donc sur celle ci Les m thodes applicables dans ce cas de figure restent valables pour les surfaces de subdivision Le lecteur pourra se r f rer aux travaux de Bremmer et al BH98 et de Elber pour la d tection de lignes dans le cas de surface de subdi vision et de surface param trique Il existe d autres types de r
142. ails dans les zones de forte densit L illustration de la figure 7 8 utilise le m me type d attributs que le style de la figure 7 7 En revanche la feuille de style est ici beaucoup plus simple un module de style trace les lignes cach es par une seule surface sous forme de traits de construction leur g om trie est tir e afin de conf rer au r sultat final un aspect technique tandis qu un autre dessine les lignes visibles avec des attributs visuels voquant l utilisation d une plume et d encre L image ainsi obtenue rappelle les illustrations techniques de la m me p riode de la Renaissance 194 chapitre 7 R sultats I LT 2 gt BAT ELIIT De ey Li LUT 7 Fic 7 8 Style illustration technique de la Renaissance Gr ce a un trac t nu des lignes cach es d form es pour simuler des traits de construction et un choix judicieux des attributs bas niveau de style cette illustration voque les dessins techniques d poque Style illustration technique L illustration technique est l une des applications de pr dilection de notre approche En effet l une des cons quences de l av nement de la CAO est que les industriels disposent des mod les 3D des objets qu ils con oivent et manufacturent D s lors il semble int ressant d uti liser ces mod les pour g n rer les divers types d illustrations requis e g manuels utilisateur illu
143. aisonnable de calculer une couleur moyenne pour l ensemble de cet l ment 108 Remarque La grande diversit des informations calcul es limite la factorisation d op rateurs d aggr gation comme nous l avons vu pr c demment aucun des op rateurs propos s ne son R sum Les m canismes d acc s aux informations permettent dans le cas de requ tes 0 dimensionnelles de g rer les cas probl matiques requ te en un sommet du graphe de vue en int grant un contexte 1D toute requ te OD et dans le cas de requ tes 1D de b n ficier de solutions d agr gation standard 4 5 Implementation 4 5 1 Calcul des informations La plupart des informations sont directement accessibles depuis le mod le 3D C est le cas des coordonn es 3D des coordonn es 2D en utilisant la matrice de projection des normales 3D des identit s d objets des mat riaux La nature des ar tes est galement directement d termin e par construction des ar tes caract ristiques On s appuie sur un algorithme de balayage de ligne sweep line BKOSOO pour calculer les intersections qui donneront lieu une partie des sommets du graphe de vue entre les projections des ar tes dans le plan Les informations d adjacence sont en m me temps calcul es et stock es Apr s d coupage des lignes caract ristiques en ar tes du graphe de vue on sait que les informations seront continues sur chaque ar te En particulier l info
144. aits auront des aspects tr s diff rents Remarque La topologie d un trait est ind pendante de la topologie 3D de la sc ne A nsi d s qu ils sont connect s dans l image des segments de lignes appartenant plusieurs objets diff rents peuvent se retrouver li s au sein d un m me trait a b FIG 3 9 La topologie des traits et son influence sur les attributs bas niveau a un seul trait dessine l ensemble des segments du contour externe de ce mod le torus knot L volution de l paisseur et de la couleur de ce trait est continue tout au long de l objet b Le contour externe est cette fois ci dessin l aide de trois traits Omission de lignes Comme on l a mentionn dans la section pr c dente l omission de lignes est galement caract ristique du style d un artiste Cette technique peut tre utilis e dans un but de simpli fication purement esth tique cf figure 3 10 a afin de concentrer l attention sur une zone d int r t en simplifiant les zones d int r t moindre cf figure 3 10 b ou encore pour ne pas surcharger le dessin lorsque la sc ne repr sent e est visuellement complexe cf figure 3 10 c 66 chapitre 3 Mod lisation de style FIG 3 10 Omission de lignes a Matisse a ici dessin une version pur e d un portrait dans laquelle la plupart des lignes verticales ont t omises Matisse 18
145. ans 0 1 Il s agit d un vecteur dont la composante k indique si la surface k appartient la liste des surfaces cach es c est dire si le point auquel est valu e l information se trouve entre l observateur et la surface k en suivant la direction de vue Couleur du mat riau Dans le cadre de cette th se nous consid rons que les mat riaux sont d finis par objet ce qui signifie que pour un point donn d une surface on n a qu un seul mat riau possible Cette information est alors d finie dans R couleur diffuse x R couleur sp culaire x R couleur ambiante x R couleur missive x R coefficient de brillance 87 Remarque En r alit dans le cas g n ral le type de maillages avec lequel on travaille permet de d finir un mat riau par face Il aurait donc fallu pr voir de stocker non pas un mais deux mat riaux par point dans certains cas En pratique dans la mesure o nous ne d tectons pas sur les surfaces les lignes correspondant des transitions de mat riaux il nous a sembl plus coh rent de ne travailler qu avec des mat riaux d finis par objet L inclusion de telles lignes et la gestion de plusieurs mat riaux par objet font partie des travaux futurs Identit des objets D finie dans N Il s agit de l identifiant de l objet auquel le point consid r appartient Nous ne g rons pas les intersections entre objets Arrangement des lignes dans le plan Cette inform
146. aque trait la texture appropri e au niveau de gris cible Par opposition avec le syst me de Salisbury et al SABS94 l utilisateur peut ainsi se concentrer sur le positionnement des primitives sans se soucier de respecter le ton Le r sultat d un dessin r alis avec ce syst me est montr sur la figure 2 3 a Plus r cemment dans un travail innovant Semet et al SOD04 combinent des techniques d intelligence artificielle avec des techniques de NPR pour g n rer notamment des dessins au trait partir de photographies La figure 2 3 b montre un r sultat obtenu avec cette technique partir de sc nes 3D Pour toutes ces techniques il existe bien s r des quivalents travaillant sur des sc nes 3D En pratique les possibilit s offertes par une approche utilisant la 3D sont plus grandes dans la mesure o la quantit d informations disponibles y est plus importante FIG 2 3 G n ration d illustrations base de hachures partir d images a Image produite partir d une photographie avec le syst me de Durand et al dans lequel le placement des traits est laiss la charge de l utilisateur tandis que la texture de ces traits est auto matiquement d termin e par le syst me de mani re respecter les niveaux de gris de l image initiale Durand et al DOM 01 b Semet et al proposent de combiner les techniques d intelligence arti ficielle avec celles de
147. as pour lesquels on trouve des r gles sp cifiant explicitement la valeur des attributs de style en fonction d informations Ainsi en illustration technique les poids des traits y sont explicitement codifi s en fonction de la nature des lignes J M89 B Les variations d paisseur ou la couleur des lignes sont li es au mat riau a FIG 3 3 Attribut de couleur des lignes li au mat riau a et b La couleur des traits dessinant un objet est reli e au mat riau de ce dernier Disney 1940 Pinocchio Dis40 et Disney 1937 Blanche neige et les sept nains Dis37 Pour ces illustrations l attribut est la couleur et l information g n rique est le mat riau Les illustrations de la figure 3 3 se caract risent surtout par le fait que diff rentes cou leurs ont t utilis es pour tracer les lignes On peut nouveau tenter de relier le choix des diff rentes couleurs une information de la sc ne on remarque facilement que la couleur choi sie par l artiste pour chaque ligne d un objet est une variation de la couleur de cet objet Par exemple les traits de la cape de couleur bleue sont trac s en bleu plus fonc D une mani re g n rale lorsque le mat riau est de couleur fonc e les lignes sont trac es avec un ton plus clair et inversement lorsque le mat riau est clair Avec cet exemple on peut imaginer proposer une formule permettant de calculer automatiquement la couleur des lignes en fo
148. ation est diff rente des autres dans la mesure o elle met en relation les lignes entre elles Elle indique pour une ligne donn e quelles lignes lui sont connect es c est dire quelles lignes l intersectent en 3D sur la surface ou en 2D dans le plan image ce sont alors les projections des lignes qui s intersectent En pratique comme nous allons le voir les lignes vont tre arrang es dans un graphe planaire qui contiendra intrins quement cette information de connectivit Informations extraites du dessin Densit D finie dans R Cette information est tudi e plus en d tails dans le chapitre 6 Longueur totale des traits D finie dans R Cette information tant mesur e dans l image finale et non plus sur l ensemble des lignes caract ristiques initiales il ne s agit plus de lignes mais de traits les traits seront pr sent s plus en d tail section 4 3 Cette information correspond donc la longueur d un trait Abscisse curviligne le long d un trait D finie dans R Pour d finir un style topologie et attributs visuels des traits l utilisateur pourra acc der l ensemble de ces informations depuis les points sur les lignes caract ristiques Par exemple pour d finir un style dans lequel l paisseur d un trait en chacun de ses points d pend de la distance l observateur l utilisateur pourra faire des requ tes sur l information de profondeur En pratique
149. ble d op rateurs pour la mod lisation de style qui permettent de respecter les objectifs fix s Pour chaque fonctionnalit recherch e e g contr le de la topologie on propose un ou plusieurs op rateurs d di s Ces derniers peuvent tre vus comme des proc dures dont la programmation revient en partie l utilisateur La difficile question de la validation de cette base d op rateurs est discut e dans le chapitre 8 Un module de style sera donc principalement constitu d une s quence d appels ces op rateurs d crivant comment fabriquer partir de l ensemble des ar tes du graphe de vue les traits stylis s qui forment le dessin cf figure 5 3 a En quoi cette approche est elle programmable S il ne s agissait que d appeler un ensemble d op rateurs pr d finis au sein d un programme le contr le sur le style serait bien faible En r alit en plus de programmer la s quence d appels aux op rateurs l utilisateur programme galement la d finition de ces derniers En pratique il ne s agit pas de demander l utilisateur de r impl menter compl tement chaque op rateur pour chaque nouveau style mais une petite partie seulement de cet op rateur dans l algorithme d finissant un op rateur on identifie la partie variable celle qui change entre deux utilisations diff rentes de cet op rateur et 118 chapitre 5 Programmation la partie fixe partie algorithmique structurelle Cette pa
150. ble de d r f rencer un it rateur en invoquant Vop rateur comme on le ferait en C Dans notre syst me c est la m thode getObject qui joue ce role 7 2 Style simple Maintenant que nous nous sommes familiaris s avec l allure du code pour chaque r gle c est a dire avec les briques de base nous allons regarder un exemple complet constitu de trois modules de style de mani re acqu rir une vision d ensemble de la formulation d un style C est le style que nous avons eu l occasion d utiliser plusieurs fois pr c demment cf figure 5 1 page 116 pour illustrer notre approche qui nous sert ici d exemple Nous utilisons la sc ne montr e sur la figure 7 1 a pour montrer le r sultat de l application de chaque module de style et galement du style complet figure 7 1 b Dans les exemples de code qui suivent les r gles qui ont t programm es par I utilisateur sont pr fix es par py pour Python Tous les autres l ments sont des composants standard fournis par le syst me 7 2 1 Premier module de style lignes de construction Ce module de style d finit des traits correspondant des lignes de construction cf figure 7 2 7 2 Style simple 183 FIG 7 1 Exemple de style simple a La sc ne 3D b Le dessin final r sultant de la combinaison de trois modules de style FIG 7 2 Premier module
151. ce l autre et la coh rence temporelle L utilisation du mat riel graphique leur permet une visualisation interactive On peut voir le r sultat de leur approche sur la figure 2 5 b 2 1 2 Les lignes caract ristiques Les travaux que nous avons cit s jusqu ici traitent du rendu de r gions zones 2D de l image dans un style non photor aliste partir de sc nes 3D ou d images Les lignes l ments 1D sont l autre grand type d l ments employ s dans la repr sentation picturale Comme nous l avons expliqu dans le premier chapitre section 1 3 2 c est ce type d l ments que nous nous limiterons dans cette th se Bien que les lignes caract ristiques soient des lignes imaginaires dans la mesure o elles n ont pas d existence physique dans la sc ne r elle il 2 1 Contexte g n ral 19 FIG 2 5 Rendu de sc nes 3D l aide de hachures Ces deux illustrations ont t g n r es partir de sc nes 3D et s appuient sur l utilisation de textures pour le dessin des hachures a Winkenbach et al utilisent ici des textures de traits proc durales Winkenbach et al WS94 b Gr ce un plaquage multiple de textures Praun et al parviennent simuler les tons l aide de hachures tout en assurant une coh rence spatiale des traits Ces techniques standard tant acc l r es par les cartes graphiques leur syst me permet un rendu inte
152. ces occultants Surfaces cach es Longueur Identit des objets Mat riau 4 5 3 Acces l information Le syst me que nous fournissons doit impl menter des acc s l ensemble des informations discut es pr c demment depuis l ensemble des objets manipul s points sommets ar tes traits Dans notre mise en uvre nous avons adopt une approche objet dans laquelle les fonctions d acc s l information sont propos es sous forme de functors objets fonctions Ale01 Ces objets pr sentent la m me interface d appel qu une fonction gr ce au m canisme de surcharge de l op rateur tout en offrant les avantages fournis par l approche objet initialisation stockage de donn es membres etc Comme nous le verrons dans le prochain chapitre les langages de programmation que nous utilisons savoir C et Python offrent un tel m canisme Les fonctions d acc s l ensemble des informations sont donc disponibles sous forme de functors travaillant soit sur des l ments OD soit sur des l ments 1D Contexte Nous avions remarqu que pour les requ tes 0 dimensionnelles il fallait disposer du contexte 1D de mani re potentiellement lever d ventuelles ambiguit s Dans notre impl mentation le contexte 1D d un l ment 0D est encapsul dans un it rateur pointant sur cet l ment Cette approche permet au programmeur de parcourir la chaine 1D de part et d autre d
153. cessaire l impl mentation d un algorithme de cha nage permettant l utilisateur de contraindre les cha nes rester dans la s lection Ce type de synchronisation est par ailleurs incontournable d s que les d cisions prendre impliquent de travailler avec plusieurs l ments de l ensemble consid r En particulier un op rateur tel que le tri manipule tous les l ments la fois et ne peut fonctionner que sur ce mode de synchronisation En revanche les op rateurs fonctionnant sur un mode de synchronisation par op rations ne peuvent b n ficier d aucune information r sultant d une travers e compl te du pipeline par un l ment Par exemple toute information relative au dessin en cours n est pas disponible pour les op rateurs se situant en amont de l op rateur de dessin dans le pipeline La synchronisation par l ment en revanche offre cette possibilit de disposer de l information issue du passage des l ments pr c dant l l ment courant par l ensemble du pipeline Tout op rateur voulant acc der des informations provenant du dessin en cours doit fonctionner sur ce mode En pratique on veut pouvoir fonctionner selon le premier sch ma pour certaines op rations et selon le deuxi me pour d autres Ces deux modes cohabiteront donc dans le pipeline qui sera constitu de sous pipelines fonctionnant chacun sur leur mode de synchronisation propre Les informations les plus utiles dont on b
154. cette image assigne au trait une paisseur d autant plus importante que celui ci est orient selon une direction donn e de mani re produire un effet calligraphique Les traits ont par ailleurs t liss s l aide d un shader de lissage g om trique b les traits correspondent ici aux silhouettes visibles coup es aux points de haute courbure cf section 5 2 4 Pour imiter l aspect de lignes de construction ces traits ont en particulier t d form s de mani re correspondre la tangente en leur milieu Par ailleurs un shader permettant d tirer leur g om trie et un autre permettant de perturber l paisseur le long du trait ont galement t utilis s sur ces traits rithme n est impos e l utilisateur et donc aucune r gle n est sp cialement expos e Pro grammer un shader revient donc sp cifier une proc dure compl te 5 2 2 Stylisation s lective et omission de lignes op rateur de s lection Principe L op rateur de s lection r pond au besoin de pouvoir appliquer le style de mani re s lective un sous ensemble des l ments 1D par exemple En effet comme on l a expliqu pr c demment il est plus int ressant d organiser un style complexe en modules de style plus simples chacun s appliquant un sous ensemble des lignes Cet op rateur est galement la base de la fonc tionnalit d omission de lignes pour laquelle seul un sous ensemble de lignes resp
155. ch et al et Salisbury et al SWHS97 lor donnancement des traits est crucial lorsque l omission de trait est utilis e pour contr ler le ton ou la densit de l image finale Notre seconde mesure de densit tant causale les pre miers traits ont plus d influence sur le reste du dessin et il peut tre fondamental de s assurer que les traits les plus importants sont dessin s en premier Par exemple lorsqu on utilise de l omission de lignes les lignes les plus importantes doivent tre dessin es en premier pour minimiser leur chance d tre limin s Cet ordonnancement d pend des choix stylistiques Dans notre approche il peut tre d fini l aide de l op rateur de tri en s appuyant sur l ensemble des informations d fini au chapitre 4 et en particulier sur la densit a priori La figure 6 7 montre deux versions simplifi es obtenues en utilisant l op rateur de s lection pour d cider d omettre des traits ou non en fonction de la valeur de la densit causale Pour la premi re la plus haute priorit est attribu e aux traits marquant de fortes discontinuit s en profondeur Par contraste pour la deuxi me image les traits sont dessin s dans un ordre al atoire On peut en particulier remarquer que dans la version ordonn e les limites du c ur de la fleur sont plus prononc es et la forme des graines est mieux sugg r e Fic 6 7 Ordonnancement des traits Il est e
156. chniques de NPR sont extr mement vari es elles peuvent prendre en entr e des images ou des sc nes 3D et produire en sortie des images stylis es imitant par exemple la peinture ou le dessin au trait On distingue deux grands types d l ments dans les rendus NPR les r gions et les lignes e g silhouette vall es Notre application travaille sur une sc ne 3D et se focalise sur le rendu stylis de lignes Pour ce faire nous choisissons une approche analytique de calcul des traits qui permet une totale libert dans leur stylisation 2 2 D tection analytique de lignes caract ristiques La d tection des lignes caract ristiques correspond au premier tage du pipeline repr sent sur la figure 2 12 et constitue un passage oblig pour toute application de rendu non photor aliste Pour cette raison c est l un des champs de recherche les plus actifs du NPR Nous avons vu pr c demment les grandes familles identifi es de lignes caract ristiques habituellement repr sent es par les artistes dans cette section nous passons en revue les principales techniques d di es la d tection de telles lignes sur des mod les 3D Nous commen ons par pr senter les approches travaillant dans l espace image puis nous d crivons celles employant des techniques purement g om triques appliqu es dans l espace objet Il est important de remarquer que bien que l on parle d espace image pour la premi re cat gorie les donn
157. color Proc SIGGRAPH 1997 J Cohen J Hughes and R Zeleznik Harold A world made of drawings In Non Photorealistic Animation and Rendering 2000 W Toledo Corr a R Jensen C Thayer and A Finkelstein Texture mapping for cel animation Proc SIGGRAPH 1998 Robert L Cook Shade trees In Proc SIGGRAPH 1984 Patrick Coleman and Karan Singh Ryan rendering your animation nonlinearly projected In NPAR 04 Proceedings of the 3rd international symposium on Non photorealistic animation and rendering pages 129 156 ACM Press 2004 Cunzi Thollot Paris Debunne Gascuel and Durand Dynamic canvas for non photorealistic walkthroughs In Proc Graphics Interface 2003 C Curtis Loose and Sketchy Animation In SIGGRAPH Conference Abstracts and Applications 1998 Manfredo P do Carmo Differential Geometry of Curves and Surfaces Prentice Hall Englewood Cliffs NJ 1976 Philippe Decaudin Cartoon looking rendering of 3D scenes Research Report 2919 INRIA June 1996 Phillippe Decaudin Cartoon looking rendering of 3d scenes Technical Report INRIA 2919 Universite de Technologie de Compiegne France june 1996 Doug DeCarlo Adam Finkelstein Szymon Rusinkiewicz and Anthony Santella Suggestive contours for conveying shape ACM Trans on Graphics 22 3 2003 F Durand V Ostromoukhov M Miller F Duranleau and J Dorsey Decou pling strokes and high level attributes for interactive traditional drawing In
158. continuit en profondeur x Objets cach s la sc ne Mat riau x Identit des objets a la sc ne Densit x Adjacence du graphe de vue ie Abscisse curvi ligne 7 Longueur des lignes x 4 6 2 Discussion sur la normalisation des informations B Une information r ellement g n rique doit tre normalis e pour tre coh rente d une sc ne l autre M me au sein des informations r ellement g n riques il peut tre n cessaire de modifier des seuils lors de la transposition d un style d une sc ne l autre Par exemple supposons qu on ait d fini un style qui s applique uniquement une zone donn e de l espace sur une sc ne et qu on l applique une autre sc ne Si le rapport entre les tailles des boites englobantes des deux sc nes est important la zone d application du style sera tr s diff rente entre les deux sc nes Il pourrait dans ce cas tre souhaitable de disposer d une version normalis e de cette information Par exemple pour l ensemble des informations de coordonn es g om triques coordonn es 3D 2D profondeur on pourrait imaginer une strat gie de normalisation s appuyant sur le volume de vue Une normalisation de l information de densit qui est tudi e en d tail au chapitre 6 pourrait consister calculer la moyenne et l cart type des valeurs de densit s pr sentes pour une sc ne donn e et modifier les valeurs de mani re se rame
159. cturales pour viter l encombrement tout en pr servant la forme et l information Par exemple il est classique d omettre les structures trop petites d exploiter les r p titions dans la sc ne et d omettre les d tails de texture La quantit locale de traits la densit est contr l e avec soin de mani re viter encombrement focaliser l attention ou cr er du dynamisme En particulier les structures r p titives ou semi r p titives telles que les textures la v g tation ou les groupes d objets similaires soul vent des questions cognitives et pictu rales int ressantes du fait de l importance de l encombrement qu ils g n rent et parce que la similarit qui les caract rise peut tre soulign e ou exploit e Nous identifions deux strat gies picturales utilis es par les artistes pour aborder le probl me de l encombrement dans le dessin au trait de structures r p titives ou pseudo r guli res Elles diff rent par leur perspective em phase vs exploitation de la r p tition et par leur style visuel complexit visuelle uniforme vs spatialement variable L lagage uniforme assure une faible complexit en omettant les lignes de fa on homog ne On obtient ainsi une image de densit uniforme sur laquelle la complexit de la vue originale est compl tement cach e La r gularit est soulign e car la repr sentation de la structure r guli re est galement r guli re En pratique l la
160. d Patrick Olivier editors Smart Graphics AAAI Spring Symposium 00 volume 00 04 of Technical Report SS American Association for Artificial Intelligence pages 71 75 Stanford USA 2000 American Associa tion for Artificial Intelligence AAAI Press 224 BIBI RvE92 SABS94 SALS96 SB99b SC92 SGG 00 SGS04 Sin02 SLM00 SOD04 SP03a SP03b SS02 ST90 Str86 SWHS97 Tay03 Tee03 TF97 J Rossignac and M van Emmerik Hidden contours on a frame buffer In Proceedings of the 7th Eurographics Workshop on Computer Graphics Hardware pages 188 204 Cambridge UK September 1992 Michael P Salisbury Sean E Anderson Ronen Barzel and David H Salesin Interactive pen and ink illustration Proceedings of SIGGRAPH 94 1994 M Salisbury C Anderson D Lischinski and D Salesin Scale dependent re production of pen and ink illustrations In Proc SIGGRAPH 1996 Mario Costa Sousa and John W Buchanan Computer generated graphite pencil rendering of 3d polygonal models Computer Graphics Forum 18 3 1999 Paul S Strauss and Rikk Carey An object oriented 3d graphics toolkit In Computer Graphics Proc of SIGGRAPH 92 volume 26 pages 341 349 July 1992 P Sander X Gu S Gortler H Hoppe and J Snyder Silhouette clipping Proc SIGGRAPH 2000 Karan Singh Cindy Grimm and Nisha Sudarsanam The ibar a perspective based camera widget In UIST 04 Proceedi
161. dans le cadre d une description de style Enfin nous motivons notre choix d une approche programmable et donnons un aper u du syst me dans son ensemble 3 1 Observation B Le style des traits joue un r le pr pond rant dans l aspect visuel d une illustration La premi re question qu il est l gitime de se poser au sujet de ce travail est de savoir si le style tel qu on l entend ici repr sente un l ment important de l aspect visuel d un dessin ou non En r alit bien que l on en ait peu conscience l aspect visuel d un dessin r sultant des attributs des traits de leur mani re d tre organis s dans le dessin est souvent suffisamment sp cifique pour que l auteur puisse tre reconnu sans ambigu t et ceci ind pendamment de la sc ne repr sent e et de la colorisation De m me deux repr sentations au trait d une m me sc ne par deux artistes diff rents seront ais ment distinguables comme on peut le voir sur la figure 3 1 Ainsi le style des lignes est un l ment suffisamment caract ristique d une illustration pour permettre d attribuer une illustration son auteur Comment alors caract riser ce style On commence par regarder des exemples d illustrations r elles dessins de lignes en tachant de d crire pour chacune d elles le style en s appuyant sur des informations g n riques comme si un interlocuteur n ayant pas l illustration sous les yeux devait en reproduire le style s
162. de d coupage Il existe en Python un certain nombre de m canismes permettant de d velopper des in terfaces avec le C Nous utilisons la librairie swig Bea96 qui exploite ces m canismes de mani re permettre le d veloppement rapide d une telle interface Remarque En pratique plusieurs m canismes du C e g les templates ne sont pas g r s par Python Bien que swig propose une mulation de quelques uns de ces m canismes manquant il est souvent pr f rable de contourner ces derniers en s appuyant sur des tech niques mieux support es e g l h ritage Nous tendons ainsi Python par notre librairie de description de style qui inclut des structures de donn es e g le graphe de vue des m canismes d acc s l information partir de ces structures cf chapitre 4 et l ensemble des op rateurs d di s la description de style En outre notre syst me fournit un certain nombre de r gles e g pr dicats shaders standard Le travail de code que doit fournir l utilisateur consiste principalement surcharger des fonctions des pr dicats ou des shaders et utiliser les op rateurs et les composants standard fournis 5 4 2 R gles de style Comme nous l avons vu la plupart des op rateurs se d composent en un structure al gorithmique fixe d un c t et un ensemble de r gles variables de l autre c t Ce sont ces r gles dont la programmation est la charge de l utili
163. de cette seconde limitation c est que le dessin de lignes d une part et le dessin de hachures pour la mise en volume d autre part sont deux probl mes fondamentalement diff rents qu il serait difficle de vouloir traiter de mani re identique Le premier trace des traits pour repr senter des limites certes virtuelles puisque de telles lignes n existent pas en tant que telles dans la sc ne r elle mais qu il est possible de calculer comme nous le verrons dans le prochain chapitre en section 2 2 Le deuxi me quant lui trace galement des traits mais pour repr senter des variations de ton sur des surfaces c est dire qu il s agit alors de remplir des r gions 2 dimensionelles du dessin Les probl matiques soulev es par l un et l autre type de repr sentation sont tr s diff rentes et nous avons donc choisi de commencer par consid rer le premier d entre eux A nsi les traits 8 chapitre 1 Introduction que nous tracons forment d une certaine mani re un sous ensemble des lignes d limitantes de la sc ne aucun trait n est ajout Le contr le du style dans le cadre du remplissage de r gions l aide de hachures ou de coups de pinceaux par exemple pour lequel des r gions 2D sont trac es l aide de primitives 1D ou OD est aussi un sujet passionnant que nous laissons pour de futures recherches FIG 1 3 Dessins de lignes Dans un premier temp
164. de d finir quelle ar te stopper L ensemble des ar tes parcourues forment alors une cha ne qui correspond au futur trait En pratique si un appel l op rateur de s lection pr c de un appel l op rateur de cha nage seules les ar tes ayant t s lectionn es pourront initier des traits En outre par d faut une ar te parcourue une premi re fois pendant le chainage ne sera pas cha n e nou veau Ce comportement peut tre modifi par l utilisateur qui peut ainsi d cid de construire des cha nes qui s tendent hors de la s lection cf figure 5 7 en bas Un chainage pour lequel 5 2 Op rateurs de description de style 123 une m me ar te est cha n e plusieurs fois au sein d un m me trait permet en particulier d obtenir un aspect croquis r aliste cet effet sera illustr plus loin sur la figure 5 14 c On distingue deux mani res de parcourir le graphe partir d une ar te de d part le cha nage unidirectionnel un seul des deux sommets de l ar te de d part est consid r pour parcourir le graphe Cette derni re est alors une extr mit de la cha ne ainsi construite le chainage bidirectionnel les deux sommets de l ar te de d part sont consid r s Ainsi l exploration du graphe s effectue de chaque c t de cette ar te La figure 5 6 montre deux traits obtenus partir d une m me ar te du graphe de vue en chainant respectivement
165. de diviser la formulation d un style en plusieurs modules de style L ensemble des proc dures qui impl mentent un style pictural donn est appel une feuille de style Nous choisissons de d composer celle ci en une s rie de modules de style chacun tant responsable d une sous partie du dessin Les modules de style sont un moyen naturel de varier le style au sein d un m me dessin Par exemple l objet principal peut tre dessin l aide d un module de style diff rent du reste de la sc ne ou encore les lignes cach es peuvent tre dessin es l aide d un module de style diff rent des lignes visibles La mod lisation d un style complexe peut ainsi tre naturellement divis e en t ches plus simples chacune tant sp cifi e dans un module de style diff rent Lors de la composition d un style complexe partir de plusieurs modules de style ces derniers sont appliqu s de mani re s quentielle l ensemble des ar tes du graphe de vue Cette approche est similaire l approche par calques couramment utilis e par les logiciels de dessin commerciaux tels que Photoshop et Illustrator Diff rents modules de style peuvent s appliquer diff rents sous ensembles d ar tes mais galement un m me sous ensemble d ar tes Par exemple pour obtenir un effet de croquis un premier module de style pourra tracer les lignes avec des traits crayonn s et un deuxi me pourra tracer ces m mes lignes avec des tra
166. de l application s quentielle des diff rents shaders basiques four nis par le syst me a L ensemble initial de traits avec leurs attributs par d faut b Une paisseur plus importante a t affect e uniform ment l aide du shader d paisseur constante c Une couleur a t affect e uniform ment l aide du shader de couleur constante d Une texture a t affect e La texture ne modifie que les valeurs de transparence du trait La couleur et l paisseur restent in chang es e On fait ensuite varier l paisseur des lignes l aide du shader de variation d paisseur non uniforme f Finalement c est la couleur qui est modifi e pour voluer lin airement entre deux couleurs 5 4 3 Pipeline d op rateurs L impl mentation du pipeline d op rateurs m rite qu on s y arr te un instant La principale question qui y est associ e concerne la mise en uvre des diff rents types de synchronisation Nous avons vu section 5 3 2 qu il tait int ressant de proposer deux modes de synchronisation diff rents pour l ordonnancement des l ments au sein du pipeline d un module de style et qu un tel pipeline pouvait en r alit tre divis en deux sous pipelines chacun fonctionnant sur un mode de synchronisation propre Comment g rer ces deux modes de fonctionnement dans un module de style Une premi re option pourrait consister introduire une instruc tion de programmation suppl mentai
167. de r cursion II pr dicat unaire OD de pr selection des points de coupure candidats Sortie 7 un ensemble de traits 1 si Istop T est vrai 2 T T vu T 3 retourner 4 x Recherche du point r alisant le minimum de f 5 Poplit point de T P plit nil 7 6 m maz E 8 pour P P9 Pa points chantillon s sur T 9 si 119 P est faux select 10 continuer 11 si f P lt m 12 m FA 13 Psplit P 14 si P plit nil 15 T e T U T 16 retourner 17 x Un point de coupure existe on construit les deux sous cha nes 18 Ti T deux traits 19 Te Ps Pont 20 Le PP 21 T T U TI U TS 22 RecursiveSplit T f Usps ME 23 RecursiveSplit T3 f Nee IEP a Cette fonction est appel e successivement sur tous les l ments 1D actifs au sein de l op rateur de d coupage r cursif cf algorithme 5 6 5 2 5 Contr le de l ordre de traitement des l ments 1D op rateur de tri Principe Dans notre approche l ordre dans lequel les ar tes ou les traits sont trait s peut influen cer le dessin L op rateur de chainage par exemple qui inclut un m canisme permettant d emp cher la r utilisation d une ar te produira des ensembles de cha nes diff rents si l ordre dans lequel les ar tes lui arrivent change De m me lorsque l information de densit est uti lis e pour viter encombrement de traits il est esse
168. de style lignes de construction On commence par donner le code du module de style puis les r gles d finies par l utilisa teur qui y apparaissent Corps du module de style Ai LR CR RL LE A LL A AUT ATTA D PAT A a odule de style ai DT TILT TELE ATET ES ALTA AT PEELE IDET AE TPE Selectionne les aretes visibles du graphe de vue Operators select QuantitativeInvisibilityUP1D 0 textcolor red 1 184 chapitre 7 R sultats Chaine en utilisant l iterateur de chainage standard Par defaut le chainage reste dans la selection On s arrete lorsque l arete trouvee n est pas visible Operators bidirectionalChain ChainSilhouettelIterator NotUP1D QuantitativeInvisibilityUP1D 0 Decoupe recursivement aux points de plus haute courbure Les chaines sont coupees jusqu a atteindre une certaine longueur Nous empechons les points de coupure d etre proches des extremites Operators recursiveSplit Curvature2DFOD La fonction 0D a evaluer pyParameterUPOD 0 2 0 8 Le predicat OD qui preselectionne les points de coupure candidats NotUP1D LengthHigherUP1D 75 4 Le predicat 1D d arret de la recursion 2 Echantillonnage liste des shaders shaders_list ConstantColorShader 0 6 0 6 0 6 affecte une couleur constante Constant ThicknessShader 2 0 affecte une epaisseur constante py GuidingLineShader Modifie la geometrie du trait selon sa
169. de trait soit utilis e pour le trac il s agit de alors de traits de hachures pour les r gions On distingue justement ces deux types d l ments r gions et lignes caract ristiques pour organiser la suite de notre tat de l art 2 1 1 Les r gions Dans un dessin les r gions correspondent aux projections des surfaces dans l image selon le point de vue consid r La probl matique r side alors dans le remplissage de telles r gions la diff rence du rendu photor aliste pour lequel l unique primitive de marque est le point le NPR varie les primitives de marques avec les styles Un style imitant la peinture l huile utilisera des marques simulant des coups de pinceau pour remplir les r gions tandis qu un autre imitant le fusain emploiera la technique des hachures et tracera des lignes Contraire ment la synth se d images r alistes et l utilisation de points comme syst me de marques unique la taille ou l orientation des marques dans un rendu NPR contribuent pleinement l aspect de l image finale Les difficult s relatives au remplissage de r gions peuvent par exemple justement concerner la d termination des valeurs ad quates pour la taille et l orientation des marques en fonction des zones repr sent es ou encore le respect d un ton dans le cas d un remplissage l aide de hachures La coh rence temporelle des marques dans le cadre d une animation fait galement partie
170. des complications induites par cette nouvelle dimensionnalit des marques 1 et non plus 0 comme en rendu photor aliste De nombreux travaux de recherches ont port sur le rendu de r gions dans un style ou dans l autre et nous en pr sentons ici quelques uns de mani re donner une id e du type de difficult s associ es cet objectif Nous pr sentons en premier les travaux consid rant des images en entr e puis ceux utilisant des sc nes 3D partir d images Parmi les diff rentes techniques artistiques de remplissage de r gions la peinture l huile notamment et les hachures ont t les plus souvent imit es en NPR Style peint painterly En 1990 Haeberli et al proposent un premier syst me interactif de rendu non photor aliste de peintures partir d images sources L utilisateur peint directement sur l image et peut tre assist par le syst me plusieurs niveaux La couleur par exemple est d termin e automatiquement en fonction de l image source La direction des coups de pinceau peut galement tre laiss e la charge du syst me qui s appuiera par 2 1 Contexte g n ral 15 exemple sur le gradient de l image source L paisseur des marques est r gl e par l utilisateur de mani re permettre le remplissage de fonds aussi bien que l ajout de d tails La figure 2 1 a montre un exemple de r sultat g n r par cette technique En 1998 Hertzmann et al proposent un syst me
171. des tels que l encre cf figure 5 21 b Enfin le mode de m lange minimum fourni par OpenGL 1 2 W 99 peut imiter le graphite et d autres m dia secs cf figure 5 21 c Une texture de papier peut galement tre appliqu e Elle n est cependant utilis e que pour le rendu final et n affecte pas les calculs de densit En outre nous proposons un composant de rendu Postscript qui permet de cr er des fichiers au format Encapsulated Postscipt dans lesquels les traits sont au choix sauv s sous forme de bandes de triangles ou alors sous forme de lignes auquel cas les variations d paisseur ne sont pas prises en compte La seule limitation de ce type de rendu est qu il ne g re pas les textures qui ajoutent beaucoup la qualit de l image finale 152 chapitre 5 Programmation de style a b FIG 5 21 Rendu des traits simulation des media a Simulation de media pais e g peinture l huile en utilisant le mode de m lange par rem placement b Simulation de mat riaux humides e g encre avec le mode de m lange additif c Simulation de media secs e g graphite avec le mode de m lange minimum R sum Dans notre mise en uvre de l approche nous avons utilis deux lan gages diff rents C et Python pour l application principale et la description de style Le syst me fournit de nombreuses r gles standard qui permettent de f
172. des traits op rateurs de d coupage Principe L op rateur de chainage seul n offre pas un contr le suffisant sur la topologie des traits En effet l unit de construction pour les traits est l ar te c est dire qu un trait ne peut tre constitu que par un nombre entier d ar tes du graphe de vue Or on veut galement pouvoir construire des traits de taille inf rieure une ar te Il faut donc un op rateur de raffinement de la topologie qui puisse en particulier subdiviser un trait en morceaux plus petits On aura donc galement besoin d un op rateur de d coupage permettant ce type de manipulations On identifie deux strat gies de d coupage possibles un d coupage s quentiel et un d coupage r cursif Avec le d coupage s quentiel on parcourt le trait de mani re s quentielle et on d cide de couper ou non en un point en y valuant une condition Cette condition peut par exemple valuer si la cha ne est suffisamment longue ou si le point test est de telle ou telle nature Ce m canisme est facile sp cifier mais il prend ses d cisions de mani re gloutonne et uniquement en se fondant sur des informations locales Le d coupage r cursif en revanche prend une d cision globale sur la cha ne enti re et coupe de mani re r cursive aux points qui r alisent le minimum d une fonction donn e Avant de discuter davantage ces deux strat gies il est important de noter qu on peut vouloir couper le
173. do algorithmique pour chaque ligne l dessiner si nature l silhouette dessiner l avec un poids fort sinon dessiner l avec un poids faible Dans la troisi me illustration le poids fort est utilis pour les lignes se trouvant sur le contour ext rieur de l objet C est la forme globale de l objet qui est ainsi soulign e Comme pr c demment on peut ici encore tenter d exprimer ce style sous une forme peudo algorithmique pour chaque ligne l dessiner si nature l contour ext rieur dessiner l avec un poids fort sinon dessiner l avec un poids faible Pour d crire ces deux styles nous avons mis en relation le poids des lignes avec leur nature e g silhouette ou contour ext rieur L attribut caract ristique du style est ici le poids des lignes tandis que l information est la nature de ces lignes Ces deux descriptions de style s appuyant sur l information g n rique de nature des lignes elles sont elles m mes g n riques On pourrait donc envisager d appliquer ces deux styles un ensemble de lignes provenant d une sc ne quelconque 58 chapitre 3 Mod lisation de style Remarque Dans ces illustrations et dans les suivantes les d pendances entre les attributs de style et les informations r sultent d une d marche plus ou moins consciente de l artiste En r gle g n rale ces d pendances ne sont pas formul es explicitement par l artiste lors de la r alisation du dessin Toutefois il existe des c
174. donc l ajout d informations ne sont pas pr vus L ajout d informations d ordre s mantique est par cons quent impossible Concep tuellement et dans le cas g n ral la difficult principale li e cette extensibilit est que tout ajout d information implique potentiellement la red finition du graphe de vue Cette derni re op ration est compliqu e d une part et se situe largement en amont de la zone de contr le offerte l utilisateur constitu e par le module de style Seul l ajout d une information conti nue en 2D n entrainerait pas de modifications du graphe de vue On pourrait donc envisager la possibilit de permettre l utilisateur de d finir des cartes 2D d informations d finies dans 204 les principaux espaces de base R R sous la forme d images correspondant pixel pixel au au dessin La mise en uvre d un tel m canisme fait partie des travaux futurs Structuration en graphe de vue La structuration des lignes caract ristiques sous la forme d un graphe de vue comporte deux aspects le d coupage des lignes en ar tes en suivant la continuit par morceaux de la fonction d information d un c t et la structuration de ces ar tes en graphe planaire de l autre c t Le choix du d coupage des lignes s appuyant sur la fonction d informations d coule natu rellement de notre approche qui place les informations au c ur de la plupart des d cisions En effet dans ce conte
175. dre et de reproduire Dans le contexte du rendu stylis suivant une approche mixte durant la phase d dition l utilisateur aurait fournir un exemple de style selon une m thode interactive par exemple et le syst me serait ensuite capable de r appliquer ce style qu il aurait appris d autres mod les 3D Un tel syst me combinerait la fois contr le flexible et intuitif du style au travers de l exemple et automatisation dans la mesure o le style appris serait r applicable n importe quel mod le Hamel et al sont les premiers utiliser une approche de type mixte pour capturer et r appliquer un style de rendu de sc nes 3D Dans la phase d dition un utilisateur dessine interactivement directement sur la sc ne de mani re obtenir un ensemble de traits stylis s Ils sugg rent de stocker un style sous forme d un patron qui met en relation les attributs de 52 style avec des informations g n riques de la sc ne e g courbures sous forme d histogrammes Ainsi si les relations attributs informations ne sont jamais explicitement exprim es en s ap puyant sur ces histogrammes on est capable d extraire un style et de l appliquer un mod le diff rent En arri re plan de cet article se dessinent les id es d un moteur de rendu g n rique capable de rendre des styles vari s de stockage d un style sous forme d une feuille de style et de mise en relation des attributs de style avec des informati
176. ds des lignes sont attribu s en fonction de leur information dinvisibilit quantitative les lignes visibles sont noires et paisses celles cach es par une seule sur faces sont plus claires et plus fines et celles cach es par deux surfaces sont encore plus claires et encore plus fines 74 chapitre 3 Mod lisation de style FIG 3 20 Informations objets occultants Sur cette illustration un sous ensemble de pi ces du moteur normalement cach es par la carrosserie sont dessin es les lignes trac es sont les lignes de ces objets qui ne comptent pas parmi leurs obstacles l un des objets du sous ensemble d int r t Kevin Hulsey Illustration Inc www khulsey com Distance a l objet cach discontinuit en profondeur Discontinuit en profondeur La discontinuit en profondeur en un point d une ligne est la distance qui le s pare du plus proche objet rencontr en suivant le rayon partant du point de vue et passant par ce point cf figure 3 21 Elle n est d finie que pour les points appartenant aux lignes de silhouette Elle est par nature nulle en tout point pour les lignes de nature diff rente FIG 3 21 Informations discontinuit en profondeur Si l on consid re trois rectangles de l espace observ s selon le point de vue montr en a les discon tinuit s en profondeur aux points P Pa et Ps correspondent aux distances d d2 et da illustr es en
177. du style Apr s avoir d fini ce graphe nous expliquerons comment des acc s ces informations peuvent tre am nag s depuis les diff rents l ments de ce dernier Bien qu en pratique nous travaillions avec des maillages poly driques dans ce chapitre sauf mention contraire les concepts seront d finis sur des surfaces exactes par opposition justement des surfaces tess ll es poly driques et ce de mani re donner des d finitions plus propres pour ces derniers Notation Si A est un ensemble on notera l adh rence de A le plus petit ferm tel que A C A et l int rieur de A le plus grand ouvert inclus dans 4 1 Les donn es d entr e Au chapitre pr c dent section 3 5 nous avons pr sent une vue d ensemble du syst me dans laquelle la donn e d entr e est un mod le 3D Plus g n ralement notre approche travaille sur un ensemble de lignes caract ristiques extraites du mod le 3D ces derni res tant enrichies par des informations galement extraites du mod le 3D Dans cette section nous d finissons plus pr cis ment ces lignes caract ristiques et ces informations 4 1 1 Les lignes caract ristiques Selon le sch ma que nous avons choisi pour notre syst me la premi re tape qui permet de passer d un mod le 3D un ensemble de traits 2D est la d tection de lignes caract ristiques sur ce mod le En effet l id e g n rale sous jacente cette tape
178. e au moins en partie sous une forme pseudo algorithmique en ex plicitant ces d pendances Une telle description de style utilisant des informations g n riques i e non sp cifiques la sc ne poss de l avantage de pouvoir tre r utilis e d une sc ne l autre Notre approche du style pour le NPR est n e de ces observations et de l hypoth se qui en d coule naturellement le style d un dessin peut tre d crit de mani re non sp cifique la sc ne repr sent e Si l on est capable d identifier d un c t les attributs qui contribuent au style d un dessin et les informations qui interviennent dans les choix faits pour ces attributs et d un autre c t les op rateurs qui les lient il est envisageable de proposer des outils de description de style dans le cadre du rendu non photor aliste de dessins au trait Ces outils s appuyant sur des informations g n riques les descriptions de style pourront tre r utilis es d une sc ne l autre ou d une image l autre dans le cadre d une animation Remarque Il arrive d observer des styles s appuyant fortement sur des informations de type s mantique S il est souvent possible d interpr ter cette s mantique comme une combinaison d informations g n riques dans certains cas il sera impossible de formuler un style sous la forme d un algorithme g n rique R sum Le style d un dessin peut tre formul de mani re pseudo algorithmique
179. e des techniques d apprentissage qui chouent capturer les composantes haut niveau du style Nous choisissons d adopter une approche programmable inspir e de Ren derman pour mettre en uvre cette phase d dition de mani re plus compl te et performante 54 chapitre 2 Etat de l art Mod lisation de style Le but de cette th se on l a vu est d offrir dans le cadre du rendu de dessins au trait stylis s partir de sc nes 3D un contr le flexible sur le style de l image produite et d assurer que ce style sera r utilisable sur n importe quelle sc ne 3D Il s agit de fournir des outils permettant de sp cifier un style Mais qu est ce que le style Comment le d crire de fa on g n rique i e non sp cifique la sc ne consid r e pour sa mod lisation Avec quels outils On a vu en introduction que nous limitons la notion de style aux seuls syst mes de primitives et d attributs cartant ainsi toute stylisation pouvant intervenir dans le syst me spatial e g projections cubistes et limitant celles relatives au syst me de marques Dans la suite du document le terme style ne concernera que ces deux seuls syst mes Dans ce chapitre nous commen ons par donner l intuition de ce qu est le style et une m thodologie pour sa description en s appuyant sur des illustrations faites par des artistes Ensuite nous identifions les attributs de style ainsi que les informations g n riques pertinentes
180. e rendu de lignes Inka Tee03 Il permet un rendu flexible l encre de mod les 3D et s appuie sur une philosophie de shaders De m me que pour MentalRay le contr le sur les attributs est param trique et ne peut s appuyer sur des informations de la sc ne FIG 2 28 Toon Shader de MentalRay Deux rendus diff rents du m me mod le faits dans le logiciel Softimage XSI D autres logiciels proposent galement des rendus NPR plus vari s mais pour lesquels le contr le offert dans chaque cas se borne au choix de l un ou l autre des styles pr d finis ou une combinaison de tels styles NPR1Reyes Penguin ou Eva par exemple offrent quelques styles de traits int ressants cf figure 2 29 Notre but terme est de permettre le d veloppement d une application d di e la mod lisation de style et offrant la m me souplesse que celle offerte par Renderman en rendu 2 4 Contr le du style en rendu non photor aliste 47 b FIG 2 29 Des shaders de traits plus vari s Certains logiciels proposent quelques shaders de style pr d finis plus vari s que ceux des Toon Shaders a Une image produite l aide de Penguin McNeel www penguin3d com b Une image produite l aide de Eva Algorithmic www algorithmic com eva_ e html photor aliste En particulier on veut pouvoir s appuyer sur des informations issues de la sc ne pour exprimer un style
181. e abstraction aboutit une repr sentation simple 2 et plus communicative qu une photographie Les symboles utilis s pour les signalisations par exemple sont la plupart du temps des dessins d une simplicit extr me comme on peut le voir sur la figure 1 1 Cette simplicit permet en particulier une interpr tation rapide et non ambigu du message transmettre FIG 1 1 Le dessin comme outil p dagogique et moyen de communication Les illustrations techniques gauche d montrent l int r t p dagogique li l utilisation du dessin La capacit de ce dernier repr senter les objets complexes de mani re minimaliste mais claire en fait un outil de communication puissant qu on utilise par exemple pour les signalisations droite En outre la possibilit qui nous est ainsi offerte de repr senter le monde en quelques traits ouvre des perspectives int ressantes B Les dessins restent intelligibles sur des petites surfaces d affichage La repr sentation de sc nes l aide de peu de lignes est particuli rement bien adapt e aux syst mes mobiles poss dant de petites surfaces d affichage tels que les t l phones portables ou les ordinateurs de poche L utilisation du NPR dans ce contexte a d j fait l objet de plusieurs travaux de recherche HMK02 et tend se populariser B Un contenu simple ou incomplet peut tre sugg r D une part l art en tol rant l impr cision le flou
182. e cha nage porte ici sur la visibilit une ar te cach e n est pas valide Remarque En fonction des contraintes sp cifi es l ensemble des ar tes candidates fourni par le syst me la fonction traverse comprendra ou non les ar tes qui sont hors de la s lection et les ar tes d j chain es On encapsule cette r gle sous forme d un it rateur GHJV95 La fonction traverse est alors la fonction appel e par les m thodes d incr mentation et de d cr mentation de cet it rateur pour le chainage unidirectionnel seule l incr mentation est utile L utilisation d un objet it rateur pour effectuer le parcours du graphe pr sente notamment l int r t de pouvoir stocker un historique des ar tes parcourues On pourra par exemple disposer d un compteur du nombre d ar tes d j cha n es L autre r gle que l utilisateur doit sp cifier pour le chainage est la r gle d arr t de ce cha nage En effet l algorithme ne termine pas forc ment sans cette derni re Cette r gle est un pr dicat travaillant sur les ar tes du maillage Par exemple si l on d sire sp cifier un cha nage suivant les ar tes de silhouette visibles une telle r gle peut par exemple consister s arr ter une ar te si elle n est pas visible Algorithmes L algorithme 5 2 illustre le chainage unidirectionnel L algorithme 5 3 illustre le cha nage bidirectionnel 125 Algorithme 5 2 Op rateu
183. e de contour et que sa discontinuit en profondeur moyenne est suffisamment importante Le pr dicat binaire permet de tester que deux ar tes cons cutives sont une profondeur proche La figure 5 13 illustre un chainage utilisant cet it rateur SketchyChaininglterator Cet it rateur permet de construire une cha ne passant plusieurs fois par les m mes ar tes En perturbant la g om trie de cette cha ne de mani re pseudo al atoire on obtient un effet esquiss particuli rement r aliste Cet it rateur peut en r alit tre n importe lequel des it rateurs pr sent s pr c demment pour lequel le chainage multiple d une m me ar te est actif cf section 5 2 3 Il s agit ensuite d au toriser cette multiplicit un nombre de fois fini L it rateur de chainage sketchy est illustr par la figure 5 14 c 144 chapitre 5 Programmation de style FIG 5 13 It rateurs de chainage contour des plans Gauche Chainage bas sur l information de profondeur pour dessiner des traits autour des premier deuxi me et arri re plans Droite haut La sc ne 8D sous le m me point de vue Droite bas La sc ne sous un point de vue sup rieur mettant en vidence les distances entre objets shaders standard Un certain nombre de shaders standard sont fournis par le syst me Nous listons ici les plus classiques SamplingShader Ce shader permet de r chantillonner
184. e de style en plusieurs fichiers n est pas obligatoire et sert ici uniquement un but p dagogique apporte la sp cification des structures utilis es telles que le graphe de vue et les traits Pour le deuxi me c est l ensemble des op rateurs et des m canismes d acc s l information qui sont utilis s En outre le partage des donn es graphe de vue et traits entre l application h te et l interpr teur de style se fait galement au travers de la librairie Nous avons choisi d utiliser deux langages diff rents pour d velopper d un c t l appli cation de visualisation et la librairie de description de style et de l autre pour les modules de style Python est comme on l a vu utilis pour les derniers tandis que les premiers sont impl ment s en C Ce choix permet d une part de r pondre aux exigences de performance d op rations telles que la visualisation et d autre part de s parer clairement la programma tion des modules de style des aspects techniques bas niveau du syst me A nsi la librairie de description de style est de mani re native en C et est utilis e sous cette forme par l application h te et a t interfac e pour Python c est cette interface qui est utilis e par 140 les modules de style La figure 5 12 illustre les grandes lignes du fonctionnement de notre syst me Nous d taillons dans la suite quelques uns des m canismes d impl mentation li
185. e g la fonction de discontinuit en profondeur est associ e un pr dicat indiquant si celle ci est inf rieure une distance donn e qui sont dans leur grande majorit fournis par le syst me Parmi les pr dicats plus avanc s on trouve ExternalContourUP1D Ce pr dicat permet de dire si un l ment 1D appartient au contour ext rieur d une sc ne c est dire si un contour donn qui est une silhouette ou un bord ne cache aucune surface Pour un trait constitu de plusieurs ar tes on renvoie vrai si au moins un segment de ce trait appartient au contour ext rieur ContourUP1D Ce pr dicat permet de dire si un l ment 1D appartient au contour d un objet Pour un trait constitu de plusieurs ar tes on renvoie vrai si au moins un segment de ce trait appartient au contour Fonctions d information Les fonctions d information sont galement impl ment es par des functors comme nous avons pu le voir la section 4 5 Le type de retour d une fonction d pend du type de l infor mation laquelle elle permet d acc der Les fonctions travaillent sur des it rateurs 0D ou sur des l ments 1D Pour chaque requ te d information une fonction est fournie par le syst me La fonction est en quelque sorte la base de toute r gle dans la mesure o un pr dicat quelconque s appuiera en g n ral sur une fonction pour d terminer la valeur retourner It rateurs Dans notre syst me plusieurs r
186. e mani re ajouter des d tails par dessus les couches plus grossi res Hertzmann et al Her98 Hachures Salisbury et Salesin ont norm ment contribu au d veloppement de tech niques permettant la g n ration de dessins base de hachures partir d images en publiant trois articles sur le sujet d s 1994 Nous pr sentons donc bri vement ces publications avant de d crire deux autres techniques originales plus r centes En 1994 Salisbury et al SABS94 pr sentent un syst me interactif permettant de cr er des dessins au trait base de hachures partir d images en niveaux de gris L utilisateur dispose de pinceaux de haut niveau avec lesquels il applique des textures de traits Le syst me assiste l utilisateur en dessinant chaque trait et peut galement les orienter en fonction du gradient de l image de r f rence La correspondance de tons est en revanche enti rement laiss e la charge de l utilisateur qui en choisissant une texture de trait choisit aussi un ton La figure 2 2 a montre un exemple de r sultat obtenu avec cette approche 16 chapitre 2 Etat de l art Salisbury et al am liorent ce syst me en 1996 SALS96 en assurant un ton coh rent quelle que soit l chelle laquelle est g n r e l illustration Le syst me devient par ailleurs compl tement automatique les hachures sont maintenant automatiquement positionn es sur l ensemble de l illustration Fi
187. e point de vue par un plan Si l on consid re dans cet espace les duaux de deux faces adjacentes du maillage on peut repr senter le segment les joignant par l espace des plans parcourus par ces faces alors qu on les fait tourner autour de leur ar te commune pour aller d un plan support l autre Si une ar te appartient la silhouette ses deux faces adjacentes ont des orientations diff rentes par rapport au point de vue Ainsi si l on fait tourner le plan support d une des faces jusqu au plan support de l autre face on croise n cessairement le point de vue Par d finition un point P appartient un plan m dans l espace si et seulement si le point dual r appartient au plan dual P On en d duit que sous le point de vue v une ar te e est une silhouette si et seulement si le plan dual v intersecte le segment dual e Le probl me de la mise jour des silhouettes d une image l autre se r duit donc la d termination de l ensemble des points de l espace dual intersect s par le plan correspondant au point de vue lorsque celui ci se d place de sa position initiale vers sa position courante lorsqu un point est rencontr par ce plan cela signifie qu une face change d orientation et que l on a apparition ou disparition de silhouette Barequet et al impl mentent cette approche l aide d un octree qui permet de d terminer rapidement les ar tes de l espace dual qui intersectent les plans du
188. e pour le contr le de l encombrement s inscrit dans le cadre g n ral du rendu NPR de dessins au trait La m thode prend en entr e un grand ensemble de primitives de lignes qui est un sur ensemble des lignes qui appara tront dans le dessin final Ces lignes peuvent provenir d une source 2D ou 3D silhouettes etc Nous verrons que l analyse de cet ensemble initial de lignes nous permet de planifier la simplification et d extraire des motifs localement Dans le cadre de notre syst me programmable l ensemble initial des lignes est l ensemble des ar tes visibles du graphe de vue Comme nous avons pu le voir dans les chapitres pr c dents le probl me de la simplification de dessin est abord sous la perspective de l omission de lignes via l op rateur de s lection en pratique ou de la modification des attributs des lignes via les shaders Nous ne traitons pas ici la modification topologique de traits ou la cr ation de nouveaux traits D une mani re g n rale cette approche n cessite de travailler dans un contexte applicatif de rendu pour lequel les lignes sont trait es de mani re s quentielle chaque ligne est transform e en trait stylis e et rendu avant de proc der la suivante mode de synchronisation par l ments cf section 5 3 2 Cette s quentialit correspond au processus de dessin o l artiste voit l tat courant du dessin avant de prendre des d cisions au sujet du prochain trait Nous utiliso
189. e pour mod liser le style Il est donc possible d appliquer ce style n importe quelle sc ne 3D comme on peut le voir sur la figure 7 5 FIG 7 5 G n ricit de la feuille de style On applique la m me feuille de style plusieurs mod les diff rents 190 7 3 Images de styles Nous montrons pr sent les r sultats sous la forme d images ces derni res ayant t g n r es par notre syst me Ces images illustrent la vari t de styles accessibles par notre approche la pr cision qui est offerte dans le contr le de ces styles et la pertinence du postulat selon lequel un style peut tre formul e de mani re g n rique sous la forme de relations entre attributs de style et informations De par sa flexibilit notre syst me permet la r alisation d effets visuels in dits en NPR toutefois il est important de remarquer que notre principale contribution n est pas dans ces effets qui ne sont montr s qu titre d illustration mais bien dans l approche unifi e et flexible pour le rendu de dessins au trait stylis s Le temps de calcul n cessaire un rendu stylis avec notre syst me varie entre quelques se condes et quelques minutes pour un mod le d environ 50K polygones L tape la plus co teuse est le calcul du graphe de vue en particulier en raison du calcul de l information de visibi lit qui se fait de mani re exhaustive et par lancer de rayons L utilisation de l information
190. eStamp self _timeStamp return None return winner On remarque dans la m thode traverse l utilisation d un autre it rateur Adjacencylterator cf section 5 4 2 Il s agit d un m canisme standard permettant d it rer sur les ar tes can didates poursuivre la cha ne Cet it rateur encapsule un certain nombre de contraintes de mani re faciliter l impl mentation de l it ration par exemple si l utilisateur a sp cifi que le cha nage devait rester dans la s lection seules les ar tes de la s lection seront parcourues par l it rateur d adjacence 7 1 4 Shaders La derni re r gle qu il nous reste illustrer est celles des shaders La classe de base pour les shaders est StrokeShader L utilisateur doit ici surcharger le constructeur __init__ si besoin est et la fonction shade Cette derni re prend en argument un trait et peut en modifier les attributs La structure classique de cette fonction est une boucle sur les sommets du trait dans laquelle les attributs associ s chaque sommet sont modifi s Remarque L it rateur sur les points d un trait est de type Stroke Vertexlterator C est un type sp cialis permettant d acc der plus facilement aux attributs sp cifiques des sommets de trait Pour des raisons d impl mentation ce type n est pas une sp cialisation du type de base utilis pour l ensemble des it rateurs sur points InterfaceODIterator Pour pouvoir
191. eau est pass sur la feuille La feuille mod lis e comme un champ de hauteurs peut tre vue comme une grille pour laquelle chaque case stocke finalement la densit d eau et de pigment Le rendu se fait alors en utilisant le mod le de Kubelka Munk pour simuler la composition optique de trac s multi couches Les r sultats obtenus par cette approche sont particuli rement r alistes comme on peut le voir sur la figure 2 25 En revanche les temps de calcul ne permettent pas une utilisation interactive D autres travaux tels que ceux de Strassmann Str86 se sont galement int ress s la mod lisation physique du pinceau pour simuler une r partition spatiale r aliste des pigments 44 chapitre 2 tat de l art FIG 2 25 Syst me d attributs et de marques simulation En haut effets r els de peinture aquarelle En bas les m mes effets obtenus par simulation Curtis et al CAS 97 sur la feuille Le lecteur trouvera dans la litt rature Lee99 YLLC03 WHS03 BWL04 plu sieurs articles traitant notamment de simulation de peintures orientales l encre d crivant des m thodes similaires De m me Sousa et al SB99b ont propos un syst me pour simuler le trac du crayon sur du papier dans le cadre d un syst me complet de rendu de sc nes 3D Dans notre cas le but est d offrir le maximum de contr le et de pr cision sur la forme et les attributs des traits et peut
192. ectant un crit re donn est s lectionn pour tre dessin L op rateur de s lection peut intervenir plusieurs niveaux Au d but du processus pour s lectionner le sous ensemble des ar tes du graphe de vue auquel appliquer le style ce sous ensemble pouvant par exemple tre l ensemble des ar tes qui appartiennent la silhouette On peut galement avoir besoin de faire une s lection sur les traits une fois que ceux ci sont ED Oh rataure Aa 9 2 Uperareuls ae q ription de style 121 construits Par exemple si on ne veut garder que les traits dont la longueur est sup rieure un seuil donn on utilisera l op rateur de s lection directement apr s que les traits aient t construits On peut galement vouloir garder les traits dont les attributs correspondent une sp cification donn e On appliquera alors la s lection sur les traits apr s que les attributs leur aient t assign s La figure 5 5 montre des exemples de s lections r alis es l aide de cet op rateur Un appel l op rateur de s lection dans un module de style n est pas obligatoire En son absence l ensemble des ar tes du graphe de vue est consid r FIG 5 5 Op rateur de s lection Sur cette figure on peut voir deux s lections diff rentes r alis es partir du m me ensemble d ar tes du graphe l ensemble des ar tes visibles haut La r gle de s lection teste ici si une ar te ap
193. ectivement sur la gauche et sur la droite L objectif est de garder quelques r gions complexes aux bords des r gions visuellement denses pour sugg rer leur complexit globale 6 6 Applications et r sultats 173 FIG 6 14 Image des gradients calcul s sur la densit a priori Ces cartes interm diaires ont t utilis es pour produire Villustration de la maison sur la figure 6 13 Gauche la carte de densit a priori a directionnelle Droite L image des gradients calcul e sur cette carte Cette image n est pas stock e les calculs de gradient tant en r alit faits au vol 174 chapitre 6 Mesures de densit pour la simplification de dessins au trait R sultats Ces travaux de recherche ont men l impl mentation d un syst me d exp rimentation d velopp suivant notre approche Ce syst me est distribu sous la d nommination Freestyle sous license GPL et peut tre t l charg l adresse http freestyle sourceforge net Dans ce chapitre nous pr sentons les r sultats obtenus avec ce syst me lors de nos exp rimentations Nous d montrons notre approche en pr sentant ces r sultats sous deux formes diff rentes Premi rement nous illustrons de mani re plus concr te le processus de formulation d un style en donnant un ensemble d exemples de code source de modules de style ou de r gles de style Ces codes source sont des exemples du type de programmation que doit faire l
194. el le produit scalaire vaut exactement 0 en premi re approximation ceci peut tre d termin en interpolant lin airement les valeurs des produits scalaires obtenus en chaque sommet La figure 2 17 montre la diff rence de qualit entre ces silhouettes et leur approxi mation polygonale Contrairement aux approches pr c dentes ces segments de silhouette ne sont a priori pas des ar tes du maillage et la plupart du temps ils traversent les faces Le pseudo code pour cet algorithme est donn dans le cas de faces triangulaires algorithme 2 4 Algorithme 2 4 Construction de silhouette exacte Fonction BuildExactSilhouette Entr e V le point de vue L ensemble V des sommets du maillage L ensemble F des faces du maillage Sortie L ensemble S des segments constituant la silhouette 1 pourveV 2 N lt la normale v 3 On associe v la valeur du produit scalaire d v V N 4 pour fEF 5 v1 U2 U3 lt les sommets de f 6 d d2 d3 lt les valeurs du produit scalaire v V N pour i 1 2 3 7 k 0 8 pour 7 1 2 3 et j i 1 mod3 9 si dj x dj lt 0 10 alors 11 x la silhouette passe entre v et vj dj di 14 si k 0 15 alors 16 x une silhouette passe par la face f 17 on ajoute le segment 75 441 aS Comme nous le verrons en section 2 3 lorsque la surface sous jacente au maillage est lisse Vapproximation polygonale de la silhouette telle que les pr c
195. en synth se d images traditionnelle tels que Renderman Ups89 AG99 HL90 Coo84 en rendu r aliste les attributs en pratique la couleur la position etc des points sont calcul s comme une fonction d un certain nombre d informations g n riques communes toute sc ne 3D e g la normale au point la position de la lumi re et tandis que les syst mes traditionnels offrent un nombre fini de mod les pour cette fonction la force de Renderman est de permettre l utilisateur de sp cifier lui m me sous forme d une proc dure la fonction qu il d sire On obtient ainsi un syst me parfaitement flexible dans la mesure o les relations les plus exo tiques peuvent y tre programm es et automatique dans la mesure o le shader contenant ces relations s appuie sur des informations g n riques et peut donc tre utilis pour rendre n importe quelle sc ne Le rendu photor aliste a norm ment gagn en puissance grace lin troduction de telles approches et il nous semble qu elles seraient d autant plus profitables au rendu non photor aliste que celui ci exige m me davantage de flexibilit L laboration d une telle approche pour le NPR pr sente plusieurs difficult s dont la premi re est d identifier un ensemble d informations pertinentes dans le contexte de la des cription de style En outre tout comme les fonctions d apparence ont pu tre isol es du reste de l algorithme de rendu avec Renderman le p
196. ent Notons qu en utilisant l abscisse curviligne sur le trait dans le pr dicat de d coupage il est tr s facile d assurer une longueur maximale pour les traits D coupage r cursif Il a un comportement plus global Il value une fonction pour chaque point d un trait la fr quence d valuation d pend de l chantillonnage courant du trait et coupe au point r alisant le minimum de cette fonction L op rateur s applique alors r cursivement aux deux sous traits ainsi cr es jusqu ce qu une condition de r cursion ne soit plus v rifi e Par exemple le d coupage r cursif est id al pour couper une cha ne aux points de plus haute courbure L exp rience montre qu il est souvent possible d obtenir le m me r sultat en commen ant par cr er des longues cha nes pour les couper par la suite ou en utilisant un crit re d arr t plus agressif pour le cha nage Diff rents utilisateurs appr hendent le proces R9DMnArnt re Aan Aacnrintinr TA otula 5 2 Op rateurs de description de style 127 sus de dessin de diff rentes mani res et adopterons pr f rentiellement une strat gie ou l autre La figure 5 8 montre un exemple de d coupage r cursif s appuyant sur l information de courbure se See mit Dee Sete Split at points of highest curvature RE ee SES SS es FIG 5 8 Op rateur de d coupage r cursif Sur cette figure les cha nes de gauche ont t coup es aux points
197. ent et sont presque parall les sont d tect s dans le cas o deux segments se recouvrent partiellement leur g om trie est modifi e de mani re ce qu ils soient connect s cf figure 2 22 a lorsque l un des deux segments est compl tement recouvert par un segment plus grand il est supprim cf figure 2 22 b FIG 2 22 Rendu de traits correction des recouvrements de segments a Les segments S et S sont corrig s en red finissant leurs sommets superpos s par le point quidistant b S est compl tement recouvert par un segment plus grand il est donc limin Nor thrup et al NM00 Isenberg et al IHS02 identifient en outre quelques artefacts suppl mentaires d s des impr cisions du maillage qui r sultent en des alternances de faces avant et arri re Triangles avec deux ar tes caract ristiques Cette situation est illustr e par la figure 2 23 gauche Pour la corriger Isenberg et al sugg rent de remplacer la paire d ar tes concern e par Var te du triangle restante comme illustr par la figure 2 23 droite FIG 2 23 Rendu de traits double ar te de silhouette pour un triangle Cette figure illustre une mani re de corriger les silhouettes dont deux ar tes appartiennent au m me triangle Apr s traitement la silhouette ne passe plus que par la troisi me ar te de ce triangle Isen berg et al
198. ent pour les ar tes du graphe de vue ou les traits peut tre tr s difficile trouver et requiert l valuation et l int gration de nombreuses informations de types diff rents qui peuvent tre sp cifi s uniquement l aide d une approche programmable Algorithme N importe quel algorithme de tri peut tre utilis pour impl menter l op rateur de tri Cet algorithme doit utiliser le pr dicat binaire de comparaison sp cifi e comme r gle pour comparer deux l ments de la s quence Dans notre impl mentation nous utilisons le tri introspectif Mus97 fourni par la Standard Template Library SLMOO 5 2 6 Op rateur de dessin Finalement une fois les traits construits et leurs attributs visuels sp cifi s un op rateur de dessin doit permettre de tracer ces traits Cet op rateur doit tre mis disposition de mani re explicite par opposition un syst me o le dessin serait automatiquement trac la fin d un module de style sans appel explicite puisqu il peut tre coupl avec des appels d autres op rateurs Par exemple si l on souhaite 131 omettre des traits de mani re garder une faible densit de traits dans l image finale il faut coupler un appel l op rateur de s lection avec l appel lop rateur de dessin Le pr dicat pour cet op rateur de s lection doit alors s appuyer sur l information de densit qui est mis jour au fur et mesure que les traits
199. ent sur ce mode Par ailleurs il s agit d un op rateur fixe qui occupe le dernier tage du pipeline On sait donc d j que le dernier sous pipeline fonctionnera en synchronisation par l ments Ceci a pour cons quence que tous les op rateurs qui voudront pouvoir utiliser l information provenant du dessin en cours devront appartenir au m me sous pipeline et fonctionner sur le m me mode de synchronisation Op rateur de tri L entr e de l op rateur de tri est en r alit la s quence des l ments prise comme un tout et non pas la s quence des l ments pris ind pendamment les uns des autres En effet cet op rateur a besoin d acc der tous les l ments de la s quence afin de pouvoir produire le r sultat Il fonctionne donc n cessairement en synchronisation par op ration Op rateur de s lection Pour la s lection les deux modes de synchronisation peuvent tre envisag s Par exemple pour pouvoir impl menter un style pour lequel les traits sont trac s uniquement si la densit du dessin en cours est suffisamment faible il faut utiliser un op rateur de s lection s appuyant sur l information du dessin et donc synchronis par l ment De l autre c t pour qu un op rateur tel que le cha nage qui en partant d un l ment l ar te de d part est amen en consid rer d autres les autres ar tes de la cha ne puisse se restreindre aux ar tes de la s lection et donc en particulie
200. entiellement dans le dessin Il permet donc de d finir des strat gies de simplification qui anticipent sur cette complexit 6 5 Densit causale La densit a priori discut e jusqu ici permet l analyse du dessin qu on aurait si toutes les lignes taient dessin es Elle fournit des outils d analyse puissants mais malheureusement elle ne fournit pas de contr le fin sur l apparence finale du dessin comme l illustre la figure 6 5 En particulier elle ne peut pas garantir que la densit du dessin courant n exc de pas un seuil donn ni qu aucune paire de traits est trop proche dans l image Pour cette raison nous utilisons galement une densit causale qui compl mente la densit a priori et refl te l tat courant du dessin Elle est mise jour apr s le dessin de chaque trait et peut tre utilis e pour styliser ou pour d cider d omettre les traits suivants 6 5 1 Un estimateur de densit de traits L estimateur de densit causale travaille sur l arrangement des traits rendus dans le dessin courant Nous choisissons d utiliser la fonction gaussienne normalis e standard d cart type g convolu e avec l image de la luminance J du dessin comme estimateur De mani re similaire la d finition de la densit a priori dans l quation 6 1 l estimation de la densit des traits dans l image J en un point Q peut s crire comme A0 _ walP Q a 1 P dP 6 4 o wg est la
201. entreprise provient du fait que le rendu non photor aliste regroupe une tr s grande vari t d aspects visuels provenant de multiples buts et contextes ainsi que d une vaste gamme de techniques et qu il est par cons quent com plexe d en trouver une formalisation unique Nous pensons que la recherche d crite dans ce document peut constituer une base de d part solide une formalisation plus pouss e du style 1 3 2 Approche Dans cette th se nous pr sentons une approche nouvelle du probl me de la mod lisation de style qui d coule d une tude pr liminaire du style dans des illustrations traditionnelles Cette approche repose plus particuli rement sur un postulat que nous commen ons par noncer avant de pr ciser le cadre de travail dans lequel nous nous pla ons Postulat B les choix stylistiques faits par l artiste s appuient sur des informations extraites de la sc ne Le point de d part de cette th se est le postulat suivant lequel en art pictural dans de nombreux cas les choix stylistiques faits par l artiste ne sont pas compl tement arbitraires et qu ils reposent plus particuli rement sur des caract ristiques de la sc ne e g la nature des lignes repr sent es et de l image e g la densit des traits trac s Cela signifie que si l on regarde le style d un dessin comme un ensemble d attributs visuels e g couleur paisseur des traits alors ce style peut tre d crit comme un ense
202. epr sentations e g par points par voxels que nous n avons pas cit s ici Toutefois pour la plupart des repr sentations des 29 travaux s int ressant la d tection des lignes caract ristiques existent Xu et al XC04 par exemple d tectent les silhouettes dans le cas d une repr sentation par nuage de points Pour beaucoup des techniques que nous pr sentons il est n cessaire que les surfaces soient des vari t s manifold en Anglais de dimension 2 Il faut galement pouvoir disposer de l information de connectivit du maillage e g la listes des ar tes issues d un sommet donn On pourra par exemple construire une structure Winged Edge Gla91 partir d une soupe de polygones dans une phase de pr traitement Rappel sur les vari t s Intuitivement une surface est une vari t de dimension 2 si en tout point elle est localement topologiquement quivalente un disque Pour un maillage polygonal cela revient dire que chaque ar te est bord e par exactement deux faces Nous d crivons maintenant plusieurs techniques g om triques permettant de d tecter les diff rents types de contours vus dans la sous section 2 1 2 Lignes de bord Les ar tes de bord correspondent aux ar tes du maillage qui ne sont bord es que par une seule face au lieu de deux Ce type de lignes n existe pas dans le monde r el et n a pour cette raison pas t introduit dans la classification dan
203. erni re s ap puie fortement sur les informations celles ci jouent un r le pr pond rant dans la d finition de ce d coupage 4 3 Les traits B Les traits sont d finis comme des chemins dans le graphe de vue Outre les ar tes du graphe de vue l autre type d l ment 1D que l utilisateur est amen manipuler dans le cadre d une description de style sont les traits Les traits sont les objets qui seront finalement dessin s la sp cification de leur topologie et de leurs attributs visuels partir du graphe de vue et des informations sont l objet d une description de style Comme nous le verrons dans le prochain chapitre gr ce aux op rateurs de description de style l uti lisateur peut sp cifier la topologie qu il d sire pour ces traits celle ci consiste en un chemin parcourant dans le graphe de vue un ensemble connexe d ar tes Dans ce chapitre on sup pose que les traits ont t construits selon les d sirs de l utilisateur et nous nous focalisons sur leur utilisation en tant de portail d acc s aux informations B Les sommets des traits peuvent inclure des sommets du graphe de vue Un trait est donc d fini comme un ensemble 1D connexe dans le plan de points appar tenant au graphe de vue la diff rence des ar tes du graphe de vue un trait peut contenir un ou plusieurs sommet du graphe de vue Une autre diff rence entre les ar tes du graphe de vue et les traits est que ces derniers
204. ers de d formation g om trique et de variation de couleur seraient appliqu es apr s une premi re tape de cha nage ne tenant pas compte de l information de visibilit une op ration de d coupage serait ensuite appliqu e cette cha ne munie de ses nouveaux attributs de g om trie et de couleur permettant de s parer les segments de visibilit diff rente les seg ments visibles seraient alors conserv s par s lection et finalement un nouvel op rateur de shading modifierait ces nouvelles cha nes munies de leur nouvelle param trisation en leur affectant la variation d paisseur souhait e 5 4 5 Rendu des traits Du point de vue de l architecture logicielle notre approche se situe en amont du rendu et peut se brancher sur un syst me de marques permettant la g n ration de limage finale partir des traits munis de leurs attributs Le d veloppement d un syst me programmable de rendu de marques constitue d ailleurs un projet excitant pour des travaux futurs 5 4 Implementation 151 Notre syst me int gre toute fois un composant simple de rendu qui s appuie sur la bi blioth que graphique standard OpenGL et permet une visualisation du r sultat Les traits sont transform s en bandes de triangles partir de l chantillonnage de leur g om trie et de leur paisseur puis rendus La figure 5 20 montre la bande de triangles associ un trait donn FIG 5 20 Rendu des trait
205. es contours suggestifs d pend du point de vue radial plane N p 2 tangent plane a b FIG 2 9 Courbure radiale a w est obtenu en projetant le vecteur de vue v sur le plan tangent b Le plan radial est form par p n et w et coupe la surface le long de la courbe radiale dont la courbure en chaque point est la courbure radiale DeCarlo et al JDFRS03 23 Remarque On remarque que les lignes de cr tes et de vall es et les contours suggestifs ainsi que les lignes paraboliques sont toujours des lignes proches les unes des autres qu il est parfois difficile de diff rencier Dans le cas d une animation les lignes de cr tes et de vall es dont le calcul d pend uniquement de la g om trie ont un aspect trop statique qui voque le plaquage de texture et qui nuit la qualit visuelle du r sultat Il semble int ressant de d finir des crit res d apparition et de disparition de ces lignes en fonction des positions du point de vue et des sources lumineuses Rendu direct de lignes caract ristiques On appelle rendu direct de lignes caract ristiques l ensemble des techniques qui permettent d afficher une ou plusieurs familles de lignes caract ristiques partir de sc nes 3D sans que ces lignes ne soient jamais calcul es analytiquement ni explicitement manipul es par le programme Ces techniques s appuient la plupart du temps sur les fonctionnalit s de la carte graph
206. es recouvrements de segments 2 23 Rendu de traits double ar te de silhouette pour un triangle 2 24 Rendu de traits groupes d ar tes de silhouette 2 25 Syst me d attributs et de marques simulation 2 26 Rendu de traits skeletal strokes 2 27 Cartoon Shading be eke ee BS ee LE SUR RUPE SES ai Nate s 2 28 Toon Shader de MentalRay pbk a hoe Pb ee ce Gk ede bose ah Ga ee de 2 29 Des shaders de traits plus vari s 2 30 Etage de stylisation approches automatiques 2 31 Rendu NPR proc dural de feuillages l aide de graftals 2 32 Etage de stylisation approches interactives 212 1 2 33 Rendu stylis les approches interactives 2 34 Rendu stylis les approches mixtes 3 1 L importance du style des lignes dans l aspect visuel d un dessin 3 2 Poids des lignes li e leur nature 3 3 Attribut de couleur des lignes li au mat riau 3 4 Attribut d paisseur des lignes li au mat riau 3 9 paisseur des lignes li e la discontinuit de profondeur 3 6 Omission de lignes li e la densit du dessin 3 7
207. essante et s duisante En effet on per oit ici une libert potentiellement infinie dans la repr sentation Malgr l accent mis sur cet aspect proc dural dans leurs travaux Kowalski et al ne per mettent pas l utilisateur de d finir ses propres proc dures de rendu de graftals renvoyant ainsi leur technique au groupe des approches automatiques standard 2 4 Contr le du style en rendu non photor aliste 49 FIG 2 31 Rendu NPR proc dural de feuillages l aide de graftals a Rendu NPR Les d tails sont ajout s de mani re proc durale lors du rendu des primitives plus simples b Primitives de d part Kowalski et al KMN 99 Nous adoptons une approche similaire l approche proc durale mise en avant par Kowalski et al en t chant de donner Vutilisateur le contr le n cessaire sur l aspect proc dural de Vapproche Les approches interactives L approche interactive consiste mod liser un style en interagissant directement avec la visualisation de la sc ne la mani re d un logiciel de dessin tel que Photoshop ou Illustrator Le style est alors construit par la suite des interactions effectu es par l utilisateur Si le principal inconv nient des approches automatiques r sidait dans le manque de contr le offert l utilisateur c est cet aspect qui constitue la principale force des approches interactives Feature edges information FIG 2 32 Build strokes with
208. est important d tre exhaustif dans cet in ventaire dans la mesure o l ensemble de l approche s appuie sur ce dernier et o tout style s appuyant sur une information n y figurant pas ne pourra pas tre mod lis par un syst me impl ment suivant notre approche moins de modifier le syst me lui m me R sum Nous avons pr sent un ensemble d informations qui semblent jouer un r le dans les d cisions stylistiques prises par un artiste Ces informations sont g n riques dans la mesure o elles existent dans n importe quelle sc ne 3D 78 chapitre 3 Mod lisation de style ET COMME Un GPR Shin SE mi Saint JE Ef ENCORE LA O ES DANS LE NORD DE LA VILLE Si Tu h WAS DANS LES QUNETIERS PALES Du SUD DE TERAN PRESQUE ME S MISE B FAIRE O SPORT TOUTES LES Ruth S APPEMENT MARTIR UNTEL FIG 3 25 Informations adjacence du graphe de vue a Le style de cette illustration est principalement d aux variations d paisseur des traits Ces derniers ont la particularit d tre souvent plus pais aux extr mit s qu au centre En particulier on observe un effet de diffusion aux jonctions en T L image du bas est un grossissement centr sur un tel effet Ce style utilise une double information du graphe de vue La premi re est l information indiquant quels sont les sommets correspondant aux jonctions en T et la deuxi me permet une telle jonction de conna tre
209. est qu il est possible de d terminer g om triquement en 3D les lieux sur une surface dont la projection dans l image correspond aux traits g n ralement dessin s par les artistes pour repr senter cette surface Il est alors courant et pratique de consid rer que ces lieux forment galement des lignes dans l espace ce qui est vrai dans la plupart des cas pour les lignes caract ristiques que nous avons choisies de consid rer savoir les silhouettes les cr tes et les vall es et les contours suggestifs Ainsi nous nous appuyons sur ces consid rations et sur les techniques de d tection de lignes caract ristiques cf section 2 2 pour d tecter l ensemble des points caract ristiques sur les surfaces de la sc ne et construire partir de cet ensemble de points un ensemble de lignes 3D dont la projection constitue le support g om trique des futurs traits de l image Nous d taillons pr sent cette tape pr liminaire de construction de lignes 3D partir des points caract ristiques Comme on peut le voir sur la figure 4 1 plusieurs constructions sont envisageables Parmi ces possibilit s nous choisissons celle qui ce niveau correspond la granularit la plus fine et qui intuitivement consiste construire des lignes les plus grandes possibles qui d butent et s arr tent sur des embranchements en 3D figure 4 1 d En l ab sence d embranchement on obtient des boucles ferm es Cette
210. ette th se s int resse la g n ration d illustrations non photor alistes imitant par exemple des dessins ou des peintures partir de sc nes 3D L abstraction ou la stylisation apportent ce type de rendu des qualit s communicatives esth tiques et expressives qui le distinguent de la synth se d images classique Les objectifs sont d une part de fournir l utilisateur un contr le flexible sur le style du rendu non photor aliste et d autre part de proposer une formulation du style qui en permette la r utilisation pour le rendu de diff rentes sc nes 3D Nous avons choisi d adopter une approche programmable qui s appuie sur le postulat se lon lequel les attributs de style couleur paisseur sont choisis en fonction d informations g n riques de la sc ne nature des lignes discontinuit en profondeur et s inspire des ap proches proc durales telles que Pixar Renderman L id e consiste exprimer un style comme un ensemble de proc dures sp cifiant les relations attributs informations utilisateur pro gramme une feuille de style qui peut ensuite tre utilis e pour le rendu de plusieurs sc nes 3D diff rentes ou de plusieurs images d une s quence anim e Cette approche est la premi re of frir la fois un contr le flexible sur le style du rendu et une formulation r utilisable de ce style This dissertation deals with the rendering of non photorealistic illu
211. eurs Dis poser d une telle m thodologie si elle est bonne repr sente galement un gain de temps consid rable En outre la segmentation des parties fixes et contr lables des op rateurs via les r gles de style vite l utilisateur un gros travail de code Il est ici encore difficile d valuer la qualit de celle ci Elle r side en partie sur le choix des op rateurs et de leur granularit Au cours de nos exp rimentations nous avons identifi les r gles les plus commun ment rencontr es dans la mod lisation de style et les fournissons de mani re standard dans le syst me La programmation d un style se restreindra ainsi souvent une utilisation de com binaisons de composants pr d finis Finalement une mesure pertinente de la difficult de produire un style avec notre approche peut tre le nombre de lignes de code qu il a t n cessaire d crire La figure 8 1 donne une id e de la taille des modules de style crits pour g n rer diff rents styles 20 lignes 20 lignes 25 lignes IN V7 t N AN kr p me f n 50 lignes 60 lignes 159 lignes FIG 8 1 Nombre de lignes de code n cessaires l criture de diff rents styles Ces chiffres indiquent une relative facilit dans la programmation d un style Ici encore nous aurions souhait mener une tude utilisateurs pour valuer ce gain de temps 208 Est il facile de penser un style en terme de programmation
212. eut remarquer que la silhouette change avec le point de vue N N ZA lt j FIG 2 6 Natures des lignes d finition d une silhouette La silhouette d une surface est d finie comme l ensemble des points P de cette surface o la normale la surface N est perpendiculaire la direction de vue P V V tant le point de vue En haut pour le point de vue consid r les silhouettes visibles de cet objet sont les lignes trac es en noir et les silhouettes cach es celles trac es en orange En bas On regarde la sc ne d un point de vue diff rent sans mettre jour les silhouettes Les lignes noires et oranges d signent respectivement les lignes de silhouette visibles et invisibles du point de vue pr c dent On illustre la normale N et la direction de vue P V pour deux points quelconques de cette silhouette Remarque Les d finitions des termes silhouette et contour changent d un article l autre dans la litt rature Lorsque nous parlons de nature des lignes le contour d signe les lignes d un objet qui dans le plan s parent l int rieur de cet objet d un autre objet ou du vide La silhouette correspond aux lignes d finies ci dessus Les lignes de contour sont un sous ensemble des lignes de silhouette Les figures 2 7 b et c illustrent la diff rence entre ces deux types de lignes Les d finitions des notions de contour et de silhouette ainsi que d aut
213. exemple pour raccourcir les traits suppression de portions extr mes ou pour leur donner une apparence plus polygonale en supprimant des sommets plus ou moins r guli rement le long du trait La figure 4 7 illustre ces deux derniers effets O a b c FIG 4 7 Interface des traits suppression de sommets a Lignes de silhouette d un tore b Sur cette illustration les traits ont t raccourcis en sup primant des sommets aux extr mit s c Ici Vapparence plus polygonale est obtenue en supprimant des sommets r guli rement le long du trait R sum Les traits sont avec les ar tes du graphe de vue l autre grand type d l ments 1D manipul s la diff rence des ar tes du graphe vue les traits peuvent inclure parmi leurs sommets des sommets du graphe de vue On notera par ailleurs qu ils ne correspondent pas forc ment des lignes en 3D dans la mesure o ils peuvent r sulter du cha nage de deux ar tes connect es dans le plan mais pas dans l espace 4 4 Acc s aux informations Selon notre approche une mod lisation de style s appuie fortement sur l ensemble des informations d finies la section 4 1 2 Il est donc essentiel que ces derni res soient facilement accessibles depuis l ensemble des l ments manipul s au sein d une description de style On distingue quatre types d l ments au travers desquels les informations doivent pouvoir tre acc d
214. exemple servir mettre en vidence un groupe de lignes par rapport un autre On a par exemple observ cette technique sur la figure 3 4 De m me sur les deux dessins des figures 3 11 b et c les artistes respectifs utilisent deux styles diff rents pour diff rentes lignes du m me dessin FIG 3 11 Utilisation de multiples styles de lignes au sein d un m me dessin a Sur ce dessin inachev on observe deux styles le premier crayonn peu pr cis et hach correspond l esquisse du dessin Le deuxi me l encre noire plus pr cis et continu est utilis pour tracer les premi res lignes d finitives du visage et de la veste du personnage de premier plan Pour les lignes du visage et de la veste qui ont t trac es dans les deux styles on a donc deux traits par ligne Pellerin 2001 Dupuis Pel01 b Sur ce dessin galement deux styles de traits ont t employ s pour les contours et les grandes lignes l auteur trace des traits noirs tr s pais peu pr cis aux variations d paisseur importantes En revanche les lignes correspondant aux d tails plus petits e g lignes du visage sont trac es l aide de traits d une finesse qui contraste avec le premier style C est l association de ces deux styles de trait dans le m me dessin qui produit cet aspect visuel esth tique caract ristique de l artiste Baudoin 1996 L Association Bau96 c Sur cette peint
215. fonction gaussienne d finie par la formule 6 2 Cet estimateur indique quel point le dessin est localement sombre l chelle d finie par o Chaque trait ajout contribue assombrir l image d une quantit qui d pend de sa couleur de sa taille de son paisseur et de l chelle o De m me que pour l estimateur de densit de lignes nous utilisons une version normalis e de la fonction gaussienne de mani re ce que la densit moyenne de traits du dessin ne d pende pas de l chelle laquelle ont t faites les requ tes Dans notre approche la densit causale peut tre valu e plusieurs chelles Toutefois parce que la densit causale est rafra chie apr s chaque trait nous n avons pas trouv b n fique 6 5 Densit causale 165 de la stocker dans une pyramide Les requ tes sont impl ment es en int grant l information autour d une r gion et les requ tes large chelle sont plus co teuses Pour des raisons de performance nous avons choisi de ne pas encoder la densit cau sale pour de multiples orientations Par opposition avec l estimateur de densit de lignes l estimateur de densit de traits ne prend pas la directionnalit en compte N anmoins une d pendance directionnelle peut tre impl ment e en utilisant l information directionnelle four nie par la densit a priori 6 5 2 Causalit et ordonnancement des traits Comme l avaient remarqu Winkenba
216. freeform design Proc SIGGRAPH 1999 Pierre Marc Jodoin Emric Epstein Martin Granger Pich and Victor Ostro moukhov Hatching by Example a Statistical Approach In Proc NPAR 2002 J Martin Technical Illustration Materials Methods and Techniques MacDo nald and Co Publishers 1989 Ming Ouhyoung Jun Wei Yeh Non photorealistic rendering in chinese painting of animals Proc ChinaGraph2002 2002 Robert D Kalnins Philip L Davidson Lee Markosian and Adam Finkelstein Coherent stylized silhouettes ACM Trans on Graphics 22 3 2003 A Klein M Kazhdan W Li W Toledo Correa A Finkelstein and T Funkhouser Non photorealistic virtual environments Proc SIGGRAPH 2000 Kalnins Markosian Meier Kowalski Lee Davidson Webb Hughes and Fin kelstein Wysiwyg npr Drawing strokes directly on 3d models ACM ToG 21 3 2002 Proc SIGGRAPH M Kowalski L Markosian J D Northrup L Bourdev R Barzel L Holden and J Hughes Art based rendering of fur grass and trees Proc SIGGRAPH 1999 J J Koenderink What does the occluding contour tell us about solid shape Perception 13 321 330 1984 Allison W Klein Peter Pike J Sloan Alex Colburn Adam Finkelstein and Michael F Cohen Video cubism Technical Report MSR TR 2001 45 Microsoft Research 2001 William E Lorensen and Harvey E Cline Marching cubes A high resolution 3d surface construction algorithm In SIGGRAPH 87 Proceedings of
217. g m trage Apple Seed SA04 ont d j t r alis s dans ce style cf figure 2 27 l aide d ordinateurs Dans leur grande majorit les composants NPR commerciaux se sont focalis s sur ce rendu et de nombreux plugins e g Illustrate CartoonReyes Penguin y sont d di s Le contr le offert par ces logiciels sur les attributs des lignes est en g n ral relativement pauvre et se limite la sp cification de poids et de couleur Il existe galement un shader Renderman permettant de faire ce type de rendu Cependant Renderman n tant pas pr vu pour la d tection et l analyse d l ments 1D les possibilit s sont tr s limit es Le moteur de rendu MentalRay notamment int gr aux logiciels Maya et Softimage XSI int gre un Toon Shader plus riche qui offre un controle fin sur de nombreux attributs 46 chapitre 2 tat de l art FIG 2 27 Cartoon Shading Deux images rendues dans le style dessin anim a Une image du clip Deux pieds Thomas Fersen r alis e l aide du logiciel CartoonReyes J rome Combe et St phane Hamache 2008 Deux pieds Thomas Fersen ACO3a b Une image du long m trage Appleseed SA04 des traits Cependant ce contr le reste de type param trique et ne permet par exemple pas de s appuyer sur des informations de la sc ne R cemment Disney a communiqu des informations au sujet de leur syst me interne d
218. gage uniforme peut tre r alis au travers de techniques li es aux niveaux de d tails pour lesquels chaque motif est simplifi en omettant les traits secondaires ou encore par le biais d un sous chantillonnage des motifs o des motifs entiers sont omis comme par exemple dessiner une ligne sur deux dans une grille Les figures 6 1 a et b illustrent cette strat gie de simplification L indication exploite les structures r p titives et s appuie sur une simplification non uniforme pour r duire la complexit globale tout en la sugg rant de mani re exhaustive dans de petites r gions WS94 L artiste dessine en d tail seulement quelques parties d une structure r p titive de mani re a sugg rer sa complexit globale par exemple quelques tuiles sur un toit L objectif est de pr server suffisamment de motifs pour transmettre Vinformation dans toute sa complexit L indication est illustr e par les figures 6 1 c et d Ces strat gies peuvent tre combin es avec des informations s mantiques pour souligner les parties importantes au travers d une simplification s lective Nous pensons qu un contr le pr cis de l encombrement est fondamental pour produire un rendu convaincant Pour cela il est crucial d imaginer des strat gies de simplification mais aussi des outils syst matiques pour estimer la complexit dans la vue et dans le dessin Des approches ant rieures ont
219. ge est importante Nous avons donc choisi d appliquer le mode de synchronisation par l ment cet op rateur x Remarque Il existe pourtant galement un int r t pouvoir entrem ler des appels l op rateur de shading et des appels l op rateur de d coupage et donc pr voir galement une synchronisation par op rateur pour le shading cet int r t consiste dans la possibilit de d couper un trait auquel on a d j affect des attributs et de pouvoir nouveau lui affecter d autres attributs apr s ce d coupage On peut de cette mani re simuler de mani re efficace une param trisation multiple des traits cet aspect est discut davantage dans la section 5 4 4 Ici encore nous n avons pas dispos de suffisamment de temps pour impl menter cette fonctionnalit et le shading ne fonctionne actuellement que dans sa version synchronis e par l ment Remarque Les s quences d l ments ar tes ou traits ne sont jamais explicitement ma nipul es au sein d un module de style un instant donn en fonction des op rateurs ayant d j t appel s on a une s quence active d l ments 1D Initialement la s quence active contient l ensemble des ar tes du graphe de vue Apr s une s lection elle contient le sous ensemble des ar tes respectant la contrainte fix e et apr s le cha nage elle est compos e des traits construits C est cette s quence active qui est impliciteme
220. ge s crit ainsi E Ei Econt U Einter A Ej Ei j Ej G Ei Et l ensemble V des points qui correspondent soit des extr mit s des C soit des points de discontinuit pour Z soit des points d intersection des projections des C dans le plan s crit V Veont U Vinter P U Ei E eE En pratique comme on le verra il y a un important recouvrement entre Veont et Vinter c est dire que la plupart des points de discontinuit de la fonction d information corres pondent des intersections des projections des lignes dans le plan Organisation en graphe Il s agit pr sent d organiser les nouvelles lignes 3D d finies par le d coupage pr c dent en graphe Comme nous l avons crit plus haut ce graphe doit en plus des informations de connexit existant entre les lignes de C en 3D refl ter l arrangement 2D des projections de ces lignes Pour ce faire on construit le graphe planaire de C On commence donc par organiser ces courbes en un graphe G dont E et V d finissent respectivement les ar tes et les sommets L ensemble des ar tes de G est d fini comme E G Vi Vj V 3Ep E Vi Vj C Ex Ainsi construit ce graphe respecte la topologie des objets c est a dire que les ar tes connect es un m me sommet se rencontrent g om triquement sur la surface Or on a galement vu qu en plus de la topologie des surfaces la construction des traits pouvait s ap
221. gles li es des parcours sont impl ment es l aide d it rateurs Ces derniers ont l avantage d encapsuler les fonctions de parcours du c t du conteneur permettant ainsi d crire des algorithmes g n riques et lisibles Nous avons vu la section 4 5 que des it rateurs OD taient utilis s pour repr senter les points munis de leur contexte 1D Deux autres types d it rateurs sont manipul s dans un module de style et sont associ s l op ration de cha nage Le premier est associ un sommet et permet d it rer sur les ar tes du graphe de vue adjacentes ce sommet on it re sur les ar tes dans l ordre inverse des aiguilles d une montre Cet it rateur permet d encapsuler un certain nombre de contraintes e g la contrainte de n it rer que sur des ar tes faisant partie de la s lection courante qui seront ainsi cach es l algorithme de cha nage Le deuxi me type d it rateur manipul correspond la r gle la plus caract ristique du chainage Il travaille en collaboration avec le premier et permet d it rer sur l ensemble des ar tes du graphe en partant d une ar te donn e et en suivant le graphe La fonction traverse utilis e par les op rateurs d incr mentation et de d cr mentation de cet it rateur de cha nage fait elle m me appel au premier type d it rateur sur une ar te donn e pour d terminer la prochaine ar te suivre on it re sur les ar tes co
222. gnes C d buteront sur ces faces Grace a la structure d adjacence on peut ensuite examiner les faces voisines afin de d tecter celles qui contiennent des lignes caract ristiques de m me nature que notre segment initiale et parcourir les faces de proche en proche jusqu arriver une autre extr mit Une fois les C disponibles la construction du graphe de vue peut commencer Cette construction se fait en partant des lignes caract ristiques les C sont les lignes initiales du graphe de vue et leurs extr mit s les sommets initiaux Nous remarquons au travers de la caract risation faite pr c demment que dans leur grande majorit les points de discontinuit de la fonction d information correspondent des intersections de lignes dans le plan La seule exception a cette r gle sont les points de rebroussement qui correspondent a des discontinuit s des informations d invisibilit quantitative de courbure 2D et de normale 2D Pour construire le graphe de vue a partir des lignes il suffit donc de d tecter les points de rebroussement des techniques de d tection de ces points en 3D sont cit es dans le chapitre 2 section 2 2 3 et de cr er des sommets aux points obtenus puis de calculer les intersections dans le plan entre les projections des lignes r sultantes et de cr er des sommets en projetant inverse ces intersections sur les lignes 3D La fonction d information sera ainsi continue sur l ensemble
223. gnes en 3D 4 7 Interface des traits suppression de sommets 4 8 Requ tes 0 dimensionelles et contexte 4 9 Continuit partielle de l information 4 10 Complexit des calculs de visibilit 5 1 D composition en modules de style 5 2 Contr le de la topologie des traits 5 3 Programmabilit des op rateurs les r gles de style 5 4 Op rateur de shading 5 5 Op rateur de s lection 5 6 Op rateurs de cha nage uni et bi directionnels 50 5l 56 57 58 59 60 61 63 64 65 66 67 68 69 70 70 71 72 73 73 74 74 75 76 77 78 81 5 7 Op rateur de cha nage 5 8 Op rateur de d coupage r cursif 5 9 Synchronisation du pipeline d op rateurs 5 10 Exemples de trois modules de style 5 11 Exemples de pipelines de trois modules de style 2 5 12 Impl mentation du syst me 5 13 It rateurs de cha nage contour des plans 5 14 Exemples d it rateurs de cha nage simples 9 15 Shaders standard shaders basiques 5 16 Shader de lissage 5 17 Shaders standard shaders de bruit 5 18 Shaders standard rognage tirement lignes directrice et calligraphie 5 19 Multiple param trisation des traits 9 20 Rendu des
224. graphe de vue ou d un trait joignant deux ar tes sur lesquels l information est conti nue 104 2 l information pr sente une ou plusieurs discontinuit s le long de l l ment 1 dimensionnel On identifie quatre op rations usuelles qui ont prouv au cours de nos exp rimentations tre utiles pour combiner les informations obtenues pour l ensemble des points de l l ment 1D La moyenne Renvoie la moyenne des valeurs correspondant aux requ tes 0 dimensionnelles Dans le cas des informations constantes par morceaux le r sultat ne fera g n ralement pas partie des valeurs initiales Le maximum Renvoie le maximum des valeurs correspondant aux requ tes 0 dimensionnelles Le minimum Renvoie le minimum des valeurs correspondant aux requ tes 0 dimensionnelles L union Renvoie l union des valeurs correspondant aux requ tes 0 dimensionnelles L union n est pas exactement une fonction d int gration dans la mesure o elle ne renvoie pas une unique valeur mais une liste de valeurs Elle est cependant tr s utile dans de nombreux cas et doit pour cette raison figurer parmi les fonctions propos es Cette op ration n est valable que pour les informations discr tes On pourrait bien entendu imaginer d autres types d agr gation et l utilisateur peut s il le d sire d finir ses m canismes personnalis s Nous avons choisi d tudier le comportement de chaque information par rapport ces quelques op rati
225. hoix et organisation des op rateurs La d composition du processus de dessin en op rateurs telle que nous la proposons d coule la fois des l ments manipul s l ments du graphe de vue et traits et des at tributs de style Les l ments manipul s proviennent de la mod lisation classique du processus du dessin comme un pipeline travaillant sur des ar tes caract ristiques et produisant des traits stylis s Notre mod lisation n est pas diff rente si ce n est que nous offrons plus de libert dans les chemins suivis par les traits et qu un premier cha nage a t effectu pour transformer les ar tes du maillage initialement d tect es comme caract ristiques en ar tes du graphe de vue chainage justifi pr c demment La base d op rateurs que nous avons choisie s articule donc autour de la construction et de la mise en style de traits partir des ar tes du graphe de vue et a pour objectif de permettre la mod lisation de tous les attributs de style Cet ensemble d op rateurs est il n cessaire Nous avons d montr dans ce document l int r t de chaque op rateur en particulier en montrant des styles irr alisables en l absence de l un d eux ils sont donc n cessaires 205 Sont ils suffisants D montrer cette propri t reviendrait prouver que n importe quel style peut tre mod liser l aide de cette base ce qui est impossible Sans pouvoir le prou ver davantage nous esp ron
226. hotte Fredo Durand et Georges Pierre Bonneau pour avoir accept de constituer mon jury et pour avoir pris le temps de venir sou vent de loin assister ma soutenance et plus particuli rement Victor et Thomas pour avoir consenti tre rapporteurs de cette th se Jacques Stern pour ses conseils et son aide pr cieuse je lui suis largement redevable de ce parcours au CIES pour m avoir permis de faire l exp rience de l enseignement au travers du mo nitorat Sylvain Paris et Sylvain Lefebvre les th sards de ma promotion pour leur pr sence et leurs bons conseils pendant ces trois ann es Emmanuel Turquin pour m avoir grandement aid au d veloppement du logiciel Freestyle et ce avec tant de bonne volont je garderai de tr s bons souvenirs de nos soir es de deadline Sylvain Paris Samuel Hornus Sylvain Lefebvre Elmar Eisemann Xavier D coret Cy ril Soler Joelle Thollot et d une mani re g n rale tous les th sards permanents et dea des quipes ARTIS et EVASION qui ont tous contribu cette th se par une r ponse un conseil une relecture etc et aupr s de qui j ai r ellement tout ap pris jour apr s jour dans une atmosph re amicale Gilles Debunne pour sa librai rie QGLViewer qui nous a tant servi ainsi qu aux d veloppeurs des logiciels libres swig STLPort cygwin et j en oublie qui nous ont conomis plusieurs ann es de d veloppement merci Johan Martinsson pour avoir t
227. houette est colin aire FIG 2 19 D tection des points de rebroussement Gauche les points de rebroussement sont les intersections des z ros de deux fonctions d finies sur la surface le produit scalaire de la normale avec la direction de vue silhouette et la fonction d quation 2 3 La silhouette est d ssin e en bleu l autre fonction en rouge Droite les m mes courbes vues sous un point de vue diff rent Hertzmann et al HZ00 la direction de vue Ce produit scalaire change galement de signe de part et d autre d un point de rebroussement Nous marquons donc chaque ar te de silhouette en fonction du signe de ce produit scalaire et cr ons un point de rebroussement lorsqu il y a changement de signe De plus on utilise une fonction hyst r sis de mani re amoindrir les cons quences du bruit li ce calcul Cette approche s est r v l e simple impl menter et efficace Les approches discr tes La principale difficult avec les approches discr tes et l utilisation du Z Buffer pour d terminer la visibilit de lignes est l impr cision du Z Buffer Northrup et al et Markosian et al MMK 00 utilisent une approche discr te et s appuient sur le Z Buffer pour d terminer la visibilit des lignes Dans une premi re passe une image r f rence d identit ID reference image est construite chaque face et chaque ar te sont rendues avec une couleur unique Les ar tes n
228. iculi rement bien adapt es au domaine du NPR En effet comme nous l avons mentionn plusieurs reprises du point de vue de l utilisateur le NPR repr sente par rapport au rendu photor aliste un besoin accru de contr le Or l approche programmable est la seule conci lier contr le flexible et automatisation Pour cette raison il serait int ressant de g n raliser l utilisation d une telle approche d autres composants du NPR Rendu de marques programmable Le syst me de rendu de marques utilis ce jour dans notre syst me s appuie sur l utili sation de textures Il serait int ressant d envisager d laborer un syst me programmable qui permettrait l utilisateur de sp cifier les formes et les positions des marques sur le papier les interactions entre le medium et le support etc 210 D tection programmable des lignes caract ristiques Pour l instant le choix des familles de lignes caract ristiques est int gr en dur dans le syst me et se limite aux familles identifi es dans la litt rature Ici aussi l acc s un syst me programmable permettant l utilisateur de sp cifier les caract ristiques des lignes qu il juge d int r t pourrait repr senter un outil de recherche performant Simplification de dessins au trait Le travail sur l information de densit pr sent au chapitre 6 ouvre plusieurs pistes de pour de futures recherches Les strat gies que nous a
229. ie c son paisseur d sa couleur et e sa texture G om trie La g om trie de l pine dorsale d un trait illustr e figure 3 7 b Couleur La ou les couleurs du trait cf figure 3 7 d paisseur L paisseur du trait en chacun de ses points de part et d autre de l pine dorsale cf figure 3 7 c Texture La texture qui simule l interaction de l outil et du medium sur le support cf figure 3 7 e 64 chapitre 3 M od lisation de style 3 2 2 Haut niveau Ces attributs de bas niveau ne suffisent pas d crire compl tement un style Nous iden tifions trois composantes suppl mentaires du style qui refl tent des d cisions correspondant une consid ration plus globale de la sc ne la topologie des traits omission de lignes et l utilisation de styles multiples au sein d un m me dessin Topologie des traits Nous commen ons par d finir quelques notions utiles une bonne compr hension de ce qu est la topologie des traits D finition On appelle graphe de vue le graphe d finissant l apparence topologique de la sc ne sous le point de vue consid r Il est construit comme un graphe planaire partir des lignes caract ristiques extraites de la sc ne le graphe de vue est tudi en d tail au chapitre 4 Remarque Le graphe de vue est analogue l aspect d fini dans la th orie sur les graphes d aspect PD90b augment des ar tes cach es
230. iel c est dire qu un instant t un seul op rateur traite un seul l ment 5 3 1 Propri t s des op rateurs Nous commen ons par noncer un certain nombre de propri t s g n rales sur les op rateurs qui permettent d aider d terminer les positions relatives des diff rents op rateurs dans le pipeline du module de style et ainsi en dessiner les grandes lignes Entr es sorties Les types des entr es et des sorties des diff rents op rateurs fixent en partie la disposition de certains l ments au sein d un pipeline En effet pour pouvoir mettre bout bout deux op rateurs le type des sorties du premier doit correspondre au type des entr es du deuxi me Fixit Nous remarquons que certains op rateurs peuvent intervenir plusieurs niveaux du processus de dessin en particulier parce qu ils acceptent plusieurs types d entr es diff rents l op rateur de s lection par exemple peut tre utilis en d but de pipeline sur les ar tes du graphe de vue ou plus en aval sur les traits tandis que d autres y occupent une place fixe l op rateur de dessin par exemple doit n cessairement se trou ver en bout de pipeline On distingue donc les op rateurs flottants qui comprennent la s lection le tri et le shading des op rateurs fixes incluant le cha nage le d coupage le dessin Remarque La mobilit de l op rateur de shading est en r alit relativement limit e En effet les t
231. ien dans l approche unifi e et flexible pour le rendu stylis de dessins au trait que nous venons de d tailler 8 2 Discussion Comme pour beaucoup de travaux de recherche touchant au NPR il est difficile de valider notre approche Dans cette section nous t chons tout au moins de poser les questions relatives une valuation de la th se pr sent e ici On commence par discuter les choix faits un bas niveau avant de s interroger sur les choix plus g n raux relatifs l approche elle m me 8 2 1 valuation des d cisions de bas niveau Si l on admet la pertinence d une approche dans laquelle le style est d crit comme une proc dure mettant en relation des attributs et des informations alors les d cisions de bas niveau portent sur le choix des attributs de style des informations utiles des op rateurs et de leur organisation en pipeline ainsi que sur l identification des l ments dont le contr le doit tre fourni l utilisateur Choix des attributs La question est d une part de savoir si les attributs consid r s sont n cessaires et suffisants et d autre part si l approche permet l utilisateur d tendre facilement les attributs de base Il est important de noter que les deux groupes d attributs de style que nous avons identifi s respectivement de bas et de haut niveau nous ont permis de r aliser tous les objectifs de style que nous nous tions fix s On ne peut pour autant pas affirmer q
232. iff rents shaders de bruit sont galement mises la disposition de l utilisateur ThicknessNoiseShader Ce shader permet de perturber les valeurs de l paisseur du trait en ses sommets en suivant un bruit de Perlin Per85 EMP 94 Les figures 5 17 c et d illustrent le shader de bruit d paisseur ColorNoiseShader Ce shader permet de perturber la couleur du trait aux sommets en suivant un bruit de Perlin Les figures 5 17 e et f illustrent ce shader TipRemoverShader Ce shader de rognage permet d liminer des portions de trait aux extr mit s cf figure 5 18 a BackboneStretcherShader Ce shader permet d tirer un trait Il est en particulier utilis pour ajouter un aspect esquiss un dessin cf figure 5 18 b GuidingLinesShader De m me que pour le shader pr c dent celui ci permet d obtenir un effet d esquisse en approximant chaque trait par sa tangente en son milieu cf figure 5 18 c CalligraphicShader Ce shader permet d assigner un trait une paisseur d autant plus importante que la direction de celui ci se rapproche d un vecteur sp cifi par l utilisateur donnant ainsi au trait un aspect calligraphique cf figure 5 18 d 146 chapitre 5 Programmation de style Ce See FIG 5 15 Shaders standard shaders basiques Ces illustrations montrent le r sultat
233. igure 2 4 montre une image tir e d une animation r alis e avec cette technique Hachures Pour le rendu base de hachures l utilisation d une sc ne 3D en entr e offre des possibilit s plus nombreuses qu avec une image la plus grande quantit d informations disponibles permet un contr le plus pouss des attributs des traits de hachure il est par exemple possible de s appuyer sur les courbures 3D pour les orienter En outre la quantit de hachures dessiner peut tre d duite des calculs d illumination classiques men s lors de rendus standard L id e de base de ces approches est justement d adpater les techniques traditionnelles de synth se d image au rendu par traits en cr ant les hachures par le biais de textures ventuellement proc durales Les deux articles suivants utilisent cette approche l un dans le cadre d un rendu interactif l autre pour la g n ration d images fixes et servent de r f rences ce type d approches 18 chapitre 2 Etat de l art FIG 2 4 Rendu de peintures partir de sc nes 3D Cette image a t g n r e partir d une sc ne 3D Les positions des coups de pinceau s appuie sur des particules distribu es dans la sc ne 3D Cette technique permet en particulier d assurer la coh rence temporelle des marques au cours d une animation Meier et al Mei96 En 1994 Winkenbach et al sont les premiers s int resser au rendu art
234. inaires 1D Un tel pr dicat binaire prend en argument deux l ments 1D et est la plupart du temps utilis comme op rateur de comparaison La classe de base de tous les pr dicats binaires 1D est BinaryPredicate1D Le pr dicat binaire montr en exemple compare les profondeurs moyennes de deux l ments 1D Lorsqu il est utilis avec ce pr dicat l op rateur de tri place les l ments les plus proches en premier dans la s quence Predicat de comparaison des profondeurs moyennes de deux aretes class pyZBP1D BinaryPredicatelD HA Constructeur def __init__ self BinaryPredicatelD __init__ self On instancie le functor 1D d evaluation de la profondeur par defaut le type d integration est la moyenne 180 chapitre 7 R sultats self _func GetZF1D Surcharge de l operateur He il premier element 1D i2 deuxieme element 1D def __call__ self il i2 return self _func il lt self _func i2 7 1 3 lt rateurs de chainage le troisi me type de r gle que nous consid rons sont les it rateurs de chainage Comme nous l avons expliqu dans le chapitre 5 ces it rateurs servent d finir la topologie d un trait en sp cifiant quel chemin suivre dans le graphe de vue en partant d une ar te donn e L utilisateur sp cifie un tel chemin en surchargeant la fonction d it ration de l it rateur afin d indiquer quelle ar te choisir parmi les ar tes candidates Les iterateurs de chain
235. int de vue puis dans un deuxi me temps parcourir l ensemble des ar tes du maillage afin de d tecter celles bord es la fois par une face avant et une face arri re silhouette FIG 2 14 Approximation polygonale des silhouettes L approximation polygonale d une silhouette est constitu e des ar tes du maillage qui sont adjacentes la fois une face orient e vers le point de vue et une face orient e dans la direction oppos e En suivant cette d finition sur le sch ma l ar te orange est une ar te de silhouette Cet algorithme n cessite le parcours de l ensemble des faces et des ar tes du mod le pour que la silhouette soit compl tement d tect e et a donc une complexit lin aire Pour les applications visant le temps r el il peut se r v ler un goulot d tranglement dans le cas de gros mod les De nombreuses recherches ont port sur son acc l ration Ces travaux adoptent soit des approches avec perte avec lesquelles la silhouette obtenue est potentiellement incompl te soit des approches sans perte qui assurent un r sultat quivalent la m thode force brute e mais dont l impl mentation est plus complexe Pour une application ne visant pas le temps r el il est acceptable d utiliser l approche force brute dont la complexit lin aire garantit tout de m me des temps de calcul raisonnables Bien que nous ayons fait ce choix il nous a sembl int ressant de
236. invisibles sous le point de vue consid r Except dans des cas particuliers tels que l illustration technique ces parties cach es ne sont pas dessin es par un artiste Il est donc essentiel d tre capable de calculer la visibilit de ces lignes caract ristiques c est dire pour chaque point des lignes de d terminer s il est visible ou cach On distingue deux types d approches Les approches exactes ces approches s appuient sur des propri t s g om triques mettant en relation les surfaces et le point de vue pour identifier les points auxquels on observe des changements de visibilit Une fois les lignes caract ristiques segment es par la cr ation de sommets en ces points il ne reste plus qu d terminer la visibilit de 37 chaque segment de courbe Ce dernier point peut par exemple tre impl ment l aide d une technique de lancer de rayons Les approches discr tes Ces approches proc dent une premi re passe de rendu de la sc ne et utilisent l image du Z Buffer ainsi g n r e pour d terminer la visibilit en chaque point des lignes caract ristiques Les approches exactes L tude de la visibilit des lignes caract ristiques selon l approche exacte est li e aux travaux sur les graphes d aspect PD90b dans lesquels on peut trouver une caract risation des l ments g om triques jouant un r le dans les changements de visibilit observ s sur les lignes En pratique
237. ion de lignes comme l ments de dessin atomiques auxquels un certain nombre de proc dures sont appliqu es signifie que l on travaille avec des objets ayant une tendue significative dans l image par opposition par exemple aux pixels pour Renderman Deux propri t s additionnelles contribuent galement cette non localit du rendu Premi rement les propri t s du dessin une certaine chelle telles que sa densit 2 4 Contr le du style en rendu non photor aliste 53 globale peuvent affecter les lignes ou les traits individuels Une autre diff rence avec les shaders proc duraux existant est que le dessin est cr par l accumulation de marques dans l image et est par cons quent produit de mani re s quentielle l ordre des op rations et la s quence de traits dessin s en r sultant influent sur le r sultat final Nous nous sommes int ress s aux approches programmables existant dans le domaine du NPR Il existe une approche programmable pour NPR il s agit du syst me OpenNPAR HIR 03 Ope02 HSS02 qui est une API pour le d veloppement de logiciels NPR temps r el Notre approche est plus sp cialis e que la leur puisque nous nous focalisons sur le des sin au trait Cette sp cialisation nous permet de fournir des outils plus puissants pour le d veloppement de styles plus complexes En pratique leur syst me est une boite outils pour la programmation permettant d aider au d veloppement de nouve
238. ion suffisante du rendu et un contr le fin du style Pour avoir une meilleure id e de ce que cela signifie on peut par exemple se figurer dans une situation o l on doit d crire par t l phone un style observ sur une sc ne complexe quelqu un qui n a pas connaissance du dessin sur lequel ce style est observ et s imaginer les phrases que nous prononcerions alors celles ci ressembleraient probablement plus les contours ext rieurs de la sc ne sont trac s avec un poids fort qu le trait en bas gauche est plus pais celui en haut droite galement etc Ce type de situation nous force prendre du recul par rapport la sc ne observ e et analyser la structure m me du style plut t que ses effets C est ce type de description de style que nous nous int ressons Introduction d un formalisme pour la description de style En fin de compte s il semble trop ambitieux de chercher d finir un mod le pour le style un objectif de ce travail est de se rapprocher d un tel mod le en introduisant un formalisme pour la description de style Un tel formalisme peut tre vue par analogie avec la linguis tique comme la sp cification d un vocabulaire et d une grammaire d di s la description de style C est un objectif d autant plus important que ce formalisme manque ce jour dans la communaut des chercheurs en NPR L une des difficult s associ es une telle
239. ique Par opposition au rendu direct le rendu analytique de lignes que nous verrons en d tail dans la suite de ce chapitre calcule et manipule explicitement les lignes dans le programme Les techniques de rendu direct sont dans l ensemble des variations autours d un al gorithme de base introduit sous une forme proche par Rossignac en 1992 RvE92 pour les silhouettes qui s appuie fortement sur l utilisation du Z Buffer combin e avec un rendu multi passes Algorithme 2 1 Rendu direct de silhouettes Fonction RenderSilhouette 1 depth function Less than 2 render front facing polygons in the Z Buffer only 3 depth function Equal to 4 render back facing polygons Cet algorithme affiche une approximation polygonale des silhouettes au travers du sous ensemble des ar tes du maillage qui ont la propri t de partager une face orient e vers la cam ra et une face orient e dans la direction oppos e cette propri t sera d taill e dans le prochain paragraphe Cet algorithme a l avantage d tre simple impl menter et per met d afficher les silhouettes de la plupart des mod les 3D en temps interactif Il pr sente n anmoins de nombreux artefacts notamment d s aux impr cisions num riques du Z Buffer Il est ainsi courant de d placer l g rement les polygones vers la cam ra avant la deuxi me passe de rendu comme le montre la figure 2 10 a En 1999 Raskar et al RC99 am liorent la qualit
240. ise entre une valeur minium et une valeur maximum Algorithmes L algorithme pour le d coupage s quentiel est illustr par l algorithme 5 4 Algorithme 5 4 Op rateur de d coupage s quentiel Fonction SequentialSplit Entr e start Istop les pr dicats unaires 1D de d but et de fin de cha ne T un ensemble de traits Sortie 7 un ensemble de traits 1 T l ensemble actif des traits 2 T 3 pour TET 4 Pstart it rateur sur les points de T 5 Pitop it rateur sur les points de T 6 Pstart premier point de T 7 r p ter 8 Pb suivant Pstart 9 T un trait 10 Te Pstart 11 r p ter 12 T T Pstop 13 Pstop suivant Pstop 14 jusqu ce que Istop Pstop soit vrai 15 T T Pstop 16 T e T U T x on cherche le prochain point de d but de cha ne 17 r p ter 18 Pstart suivant Pstart 19 jusqu ce que I star Pstart soit vrai 20 jusqu ce que Pstart dernier point de T 129 Pour le d coupage r cursif on d finit la fonction r cursive RecursiveSplitChain qui coupe une seule cha ne pass e en argument de mani re r cursive cf algorithme 5 5 Algorithme 5 5 fonction r cursive de d coupage d un trait Fonction RecursiveSplitChain Entr e T un trait f fonction de l ensemble des points de G dans un ensemble E er 0D select pr dicat unaire 1D d arr t
241. isibilit les lignes cach es sont affich es dans un style plus discret 12 chapitre 3 Mod lisation de style b Fic 3 17 Informations courbure 2D a et b dans ces deux illustrations on aper oit encore les premi res esquisses de formes sous forme de grandes lignes de construction pour la premi re et de s ries de traits quasi rectilignes pour la seconde On constate que ces traits initiaux ont tendance a d buter et stopper a des points de haute courbure b Pablo Picasso 1922 Pic22 que les lignes visibles Dans l illustration de la figure 3 19 a les lignes cach es sont par exemple affich es en blanc On remarque galement que toutes les lignes cach es ne sont pas affich es En effet encore pour une raison de lisibilit on pr f rera tracer les lignes cach es par un nombre d objets inf rieur un nombre donn L information qui est alors utilis e est Vinvisibilit quantitative cf 2 2 3 c est dire l information d finissant pour chaque ligne le nombre de surfaces qui la cachent Sur la figure 3 19 b on utilise l invisibilit quantitative pour d terminer la couleur des lignes Objets occultants L information donnant pour une ligne la liste des objets qui la cachent est galement fr quemment utilis e en illustration technique Par exemple pour afficher lisiblement un objet qui est normalement cach la norme est de tracer
242. isses il n y a pas de superposition d ar tes de silhouette pour une surface convexe lorsque celle ci est quasi parall le la direction de vue e Lignes de silhouette du tore souriant Le cadre rouge montre la position des courbes pour les illustrations de a c Hertzmann et al HZ00 Contours suggestifs Le calcul des contours suggestifs DFRS03 se fait selon un algorithme similaire celui utilis par Hertzmann et Zorin HZ00 cf algorithme 2 4 Au lieu d un produit scalaire c est ici la fonction donnant la courbure radiale dont on va chercher les z ros sur la surface A nsi apr s avoir calcul en chaque sommet du maillage les faces pour lesquelles on observe des signes oppos s sur les diff rents sommets sont identifi es et les segments r alisant le z ro de Kr sont construits par interpolation lin aire La courbure radiale peut tre calcul e en chaque sommet partir des valeurs des deux courbures principales l aide de la formule suivante dC76 kr P k1 P cos k2 P sin 2 2 k1 et Kg tant les courbures principales et l angle entre w P et la direction de la cour bure principale correspondant 1 Pour le calcul des courbures principale sur un maillage polygonal le lecteur pourra par exemple se r f rer au travail de Alliez et al ACSD 03 Cette construction produit un ensemble de courbes ferm es sur la surface Il suffit alors de ca
243. istique de sc nes 3D Ils se focalisent plus sp cifiquement sur la technique du dessin l encre et la plume et travaillent sur des maillages polygonaux Leur approche s appuie sur des textures proc durales de traits qui permettent de g n rer des hachures dans les r gions correspondant aux projections des surfaces de la sc ne de mani re indiquer la fois le ton pour la mise en volume et l ombrage et le mat riau e g bois briques tuiles Ils introduisent notamment l id e de priorit de traits dans leur texture les traits les plus visuellement importants sont dessin s en premier et les autres sont rajout s de mani re assombrir le ton si besoin est Un r sultat obtenu l aide de leur approche est montr sur la figure 2 5 a En 2001 Praun et al PHMF01 s inspirent de ce travail et en r alisent une impl mentation temps r el qui s appuie sur les capacit s du mat riel graphique Ils introduisent la notion de tonal art maps TAM qui sont les familles de textures de traits servant repr senter les diff rents tons diff rentes chelles l aide de hachures Contrairement au travail de Winkenbach et al WS94 les textures ne sont pas g n r es proc duralement pendant le rendu mais au pr alable de mani re tre stock es sur la carte graphique Sur chaque triangle du maillage six textures de la TAM sont m lang es de mani re assurer la fois la coh rence spatiale d une fa
244. its encr s C est finalement la superposition des lignes trac es dans ces deux styles qui constitue le dessin final La figure 5 1 reprend la partie droite du pipeline repr sent sur la figure 3 26 page 81 pour lequel la d composition en modules de style est mise en vidence Le travail d un module de style consiste principalement sp cifier les caract ristiques topologiques des traits ainsi que leurs attributs visuels 116 Feuille de style eT Layer 2 Output Image eae See ee are i ViewMap i l X I D 1 1 1 l Style Module 1 1 7 l Style Module 2 1 aa i 1 Style Module 3 Layer 3 FIG 5 1 D composition en modules de style Cette illustration reprend en partie la figure 3 26 pagel81l en y ajoutant la d composition en modules de style Ainsi le style complexe visible sur l image de droite est le r sultat de la superposition de trois modules de style le premier est responsable du trac du contour ext rieur dans un style calli graphique le deuxi me trace des lignes de construction tandis que le dernier dessine les lignes visibles qui n appartiennent pas au contour ext rieur On se pose maintenant la question de savoir quelles op rations peuvent tre utilis es dans un module de style et comment elles peuvent tre organis es 5 2 Op rateurs de description de style Identifier les op rateurs l mentaires qui con
245. l on travaille toujours muni d un contexte 1 dimensionnel les informations diff rentielles telles que la courbure 2D ou la normale 2D peuvent tre facilement calcul es en tout point De m me les informations d abscisse curviligne ou de longueur sont naturellement disponibles dans un tel contexte 4 5 impl mentation 109 FIG 4 10 Complexit des calculs de visibilit La complexit des calculs de visibilit est plus importante dans le cas b que le cas a Pour l information de densit il existe plusieurs approches possibles que nous discutons dans le chapitre 6 4 5 2 Stockage des informations Dans notre impl mentation une ar te du graphe de vue est stock e sous forme d une polyligne dont les segments proviennent de la tess lation du maillage 3D elle m me ayant t ventuellement subdivis e l occasion du calcul d intersections entre ar tes dans le plan On liste pour chaque type d objet ar te sommet du graphe segment de polyligne som met de polyligne les informations qui y sont stock es sommet de polyligne Coordonn es 3D Coordonn es 2D Profondeur Normales 3D Normales 2D Courbure 2D Abscisse curviligne segment de polyligne Longueur Disontinuit en profondeur sommet du graphe Nature du sommet e g T Vertex Adjacence du graphe ar te du graphe Nature des ar tes 110 Invisibilit quantitative Surfa
246. l vecteur d information choisir parmi les n possibilit s En r alit dans notre approche le nombre de possibilit s est moins important En effet une requ te 0 dimensionnelle sur un sommet se fait toujours dans le contexte d un l ment 1D 101 c est dire qu un point est toujours consid r comme faisant partie d un trait Gr ce ce contexte le nombre de possibilit s pour l information en un sommet du graphe de vue passe de n 2 ou 1 lorsque le sommet correspond une extr mit du trait et il est possible de renvoyer une valeur pertinente pour le vecteur d information Cette valeur peut par exemple tre la limite gauche ou droite ou bien m me une combinaison quelconque de ces valeurs Le contexte d un point P du graphe est constitu soit d une ar te de E si P J Ei soit de deux ar tes si P V G ces deux ar tes sont alors des ar tes adjacentes au sommet P La figure 4 8 illustre l apport d un contexte pour une requ te en un sommet du graphe FIG 4 8 Requ tes 0 dimensionelles et contexte a Sur cet exemple le vecteur d information peut potentiellement prendre cinq valeurs diff rentes au sommet V b Dans le contexte de l l ment 1D E3 Es le nombre de valeurs possibles est r duit 2 Il devient notamment raisonnable de choisir une valeur gauche sur E3 ou droite sur Es pour V On d finit donc la fonction ZY de requ te d informati
247. la distance au bord de la r gion Ainsi la taille d un motif peut tre inf r e partir de la valeur de o laquelle ce plateau commence ainsi que la fr quence de la distribution de lignes dans cette r gion De m me la distance au bord de la structure peut tre obtenue partir de la valeur o laquelle le plateau se termine La figure 6 6 montre comment les profils d chelle pour trois points diff rents du toit du mod le de la maison convergent vers un tel plateau bien qu tant tr s distincts pour les petites chelles Sur la figure 6 10 nous utilisons cette propri t pour extraire la taille d une tuile de mani re contr ler de l omission de lignes deux chelles diff rentes Plus de d tails propos de cette 164 illustration sont donn s la section 6 6 Comme pour les autres informations la densit que nous avons jusqu ici tudi e dans le contexte de requ tes 0 dimensionelles peut tre agr g e le long d un l ment 1 dimensionel en utilisant les m mes outils statistiques cf section 4 4 3 R sum Nous avons d fini un estimateur pour la densit a priori qui est calcul e sur l ensemble complet des lignes Cet estimateur permet de mesurer la densit en un point dans une direction et pour une chelle donn es Ainsi cet estimateur est un outil pr dictif puissant quant l organisation des structures complexes qui appara tront pot
248. lculer la d riv e directionnelle de de mani re ne garder que les morceaux de courbes pour lesquels elle est positive Ces op rations sont r p ter chaque fois que le point de vue change La construction des contours suggestifs exigeant un calcul diff rentiel courbures elle 36 est souvent bruit e sur les maillages polygonaux et n cessite l introduction de seuils filtrants En particulier les lignes obtenus partir de valeurs de courbures trop faibles seront limin s Cr tes et vall es Les cr tes et les vall es correspondent aux extrema des courbures principales Th oriquement il suffit donc de calculer les d riv es des courbures principales en chaque sommet et de construire les polylignes r alisant les z ros de ces d riv es en utilisant nouveau un algo rithme similaire celui de Hertzmann et Zorin algorithme 2 4 En pratique de tels cal culs diff rentiels d ordre 2 donnent des r sultats tr s bruit s sur des maillages polygonaux et rendent la construction des lignes de cr te et de vall e difficile De nombreux travaux RKS00 NHO1 s affranchissent de ce probl me en calculant de mani re grossi re sur le maillage les zones de cr tes et de vall es puis en en extrayant le squelette l aide d op rations morphologiques Plus r cemment Ohtake et al OBS04 ont obtenu de bons r sultats en cal culant une approximation du maillage polygonal l aide de fonctions base radiale De
249. le La sp cification d un ensemble de structures utiles la mod lisation de style partir d une sc ne 3D et en particulier du graphe de vue qui est adapt une mise en style bas e sur l information Une d composition du processus de dessin sous forme d un ensemble d op rateurs pro grammables organis s en pipeline et l identification des l ments n vralgiques de ce pipeline dont le contr le doit n cessairement tre laiss l utilisateur Une exploitation de l information de densit comme contr leur de strat gies de simpli fication de dessins au trait L introduction de shaders programmables pour le rendu non photor aliste ouvre de nom breuses voies int ressantes pour le design graphique et stylis d autant plus que par d finition les styles non photor alistes autorisent la plus grande libert quant aux modifications visuelles et g om triques du mod le sous jacent 202 Dans notre exp rience le d veloppement d une feuille de style est comparable celui d un shader proc dural en rendu traditionnel L tape la plus laborieuse est souvent la formulation du but en des termes qui puissent tre traduits sous forme de programmes Cette tape pass e l exp rimentation et le raffinement se d roulent de fa on naturelle et ais e Il est finalement important de noter que notre principale contribution n est pas dans les nouveaux effets visuels que nous avons montr s mais b
250. le des c nes ancr s des n uds enfants soient inclus dans le c ne ancr du n ud parent 0 a 0 a 0 a n a n FIG 2 16 Cones ancr s Illustration des c nes ancr s en 2D les quatre faces dessin es en bleu sont toutes orient es de la m me mani re par rapport au point de vue d s que celui ci est inclus dans le c ne d angle 0 Sander et al SGGt 00 Toutes les techniques que nous avons vues dans cette section permettent la d termination d une approximation impr cise de la silhouette sous la forme d un sous ensemble des ar tes du maillage Ce r sultat pr sente en particulier des probl mes topologiques cf section 2 3 2 En 2000 Hertzmann et al proposent une approche permettant de calculer une meilleure approximation de la silhouette partir d un maillage polygonal de mani re viter au maxi mum les probl mes topologiques L id e de base inspir e par la technique du Marching Cubes est de construire un ensemble de segments sur le maillage qui sont une meilleure approximation des lieux de silhouette l algorithme consiste calculer en chaque sommet le produit scalaire de la normale par le vecteur direction de vue d tecter les faces pour lesquels ces produits scalaires ne sont pas de m me signe pour tous les sommets ce qui signifie que la silhouette passe par ces faces On construit alors le segment qui traverse chaque face et 34 pour lequ
251. le seuil 7 soit l chelle o augmentent 6 5 Densit causale 167 test d lt T test d lt 3 param tre r gularit densit regularit densit TAB 6 1 R gularit et densit finale moyenne effet des param tres o et T Nous discutons de mani re informelle les r sultats pr sent s dans la derni re ligne du ta bleau 6 1 qui sont obtenus lorsque o augmente tandis que 7 reste constant Il est tout d abord important de noter que puisque nous utilisons une version normalis e de la densit l estima tion de celle ci ne change pas avec o lorsque l chelle est au dessus de l chelle caract ristique d une structure r p titive cf section 6 4 3 Nous observons que lorsque l chelle augmente la position pr cise des lignes est moins contrainte menant des ensembles de lignes plus irr guliers En effet le seuil 7 exerce pr sent son influence sur des voisinages plus grands d finis par o Cet effet est illustr sur la figure 6 9 FIG 6 9 Influence de augmentation de o sur la r gularit de la distribution des lignes Droite o 2 T 0 2 Gauche o 7 T 0 2 La densit finale est la m me pour les deux illustrations mais seule l image de droite contient des paires de lignes rapproch es De l autre c t si le seuil est inversement proportionnel o ce qui revient travailler avec une version non normalis
252. les 7 3 Images de styles 7 3 1 Organisation par fonctionnalit s 7 3 2 Organisation par styles 8 Conclusion 8 1 R sum des contributions 8 2 Discussion 8 2 1 valuation des d cisions de bas niveau 8 2 2 valuation du succ s de l approche 8 3 Travaux futurs CAR DIR LES vi TABLE DES MATI RES Introduction La qu te du photor alisme cette motivation guid la recherche en informatique gra phique depuis son origine Aujourd hui les techniques de rendu utilis es pour produire des images photor alistes partir de sc nes 3D arrivent maturit et l illusion est souvent par faite Plus r cemment le besoin de cr er des images moins conformes la r alit plus ex pressives partir de sc nes 3D s est fait ressentir au sein d une partie de la communaut de l informatique graphique Le domaine de recherche d di au rendu non photor aliste Non Photorealistic Rendering ou NPR est ainsi n il y a une dizaine d ann es et ne cesse depuis de s accro tre 1 1 Pourquoi faire du NPR De la libert dans la repr sentation Choisir le NPR c est choisir toute la libert offerte par le dessin ou la peinture dans la repr sentation et qui n existe pas dans la photographie Cette libert c
253. lisses D finies dans R On appelle normale lisse unique normale 3D ext rieure associ e a chaque point d une surface lisse 86 Normales 3D vives D finies dans R x R On appelle normales vives le couple de normales 3D associ es chaque point appartenant une ar te vive d une surface il y a dans ce cas exactement deux normales dans la mesure o les surfaces consid r es sont des vari t s de dimension 2 Remarque Il est important de remarquer que cette information est destin e tre ex ploit e dans son ensemble En particulier il est impossible de d terminer laquelle des faces adjacentes correspond chacune des normales dans la mesure o l orientation des ar tes vives ne r pond aucune r gle Normales 2D D finies dans R Il s agit des normales 2D d finies en chaque point des pro jections des lignes caract ristiques dans l image Courbures 2D D finies dans R Il s agit de la courbure 2D d finie en chaque point des projections des lignes caract ristiques dans l image Nature des lignes D finie dans 0 1 L ensemble des lignes caract ristiques est construit comme l union de plusieurs familles de lignes v rifiant des propri t s diff rentes e g silhouettes contours suggestifs La nature d une ligne correspond l ensemble des familles auxquelles elle appartient si on a n familles diff rentes il s agit d un vecteur de dimension n dont chaque composante vaut
254. lles applications NPR dans l esprit de OpenInventor SC92 tandis que notre approche est davantage inspir e des shaders proc duraux de Renderman et est d di e a la production d images Le tableau sui vant r sume les principales diff rences entre l approche de OpenNPAR et la n tre OpenNPAR Notre approche Comparable a Openlnventor Renderman Objectif D veloppement d applications Fabrication d images Utilisateurs D veloppeurs Directeurs techniques Les auteurs ont en outre utilis leur syst me pour d velopper une interface graphique impressionante pour l exploration de styles simples HSS02 R sum Les travaux de recherche s tant int ress s au style en NPR appartiennent majoritairement deux cat gories d un c t les approches automatiques qui per mettent une r utilisation du style mais offrent l utilisateur un faible contr le sur le style et de l autre c t les approches interactives qui par contraste offrent un excellent contr le mais sont peu adapt es la r utilisation Une troisi me cat gorie tente de concilier le meilleur des deux approches celle des approches mixtes qui com binent une approche interactive au travers d une phase d dition et une approche automatique au travers de la phase de rendu Le contr le du style s effectue lors de la phase d dition Cette derni re a jusqu ici t envisag e uniquement sous l angl
255. llustration technique de la Renaissance 7 9 Style illustration technique 7 10 Simplication bas e sur la densit et cha nage au travers de petites occultations 7 11 Style sketchy lignes de construction 7 12 Style sketchy cha nage multiple 7 13 Style sketchy d coupage s quentiel 7 14 Style oriental 8 1 Nombre de lignes de code n cessaires l criture de diff rents styles 214 TABLE DES FIGURES Liste des tableaux 6 1 R gularit et densit finale moyenne effet des param tres o et T 216 LISTE DES TABLEAUX Algorithmes 2 1 Rendu direct de silhouettes 23 2 2 D tection des ar tes de bords 29 2 3 D tection de silhouette 31 2 4 Construction de silhouette exacte 34 5 1 Op rateur de s lection 122 5 2 Op rateur de chainage unidirectionnel 125 5 3 Op rateur de chainage bidirectionnel 125 5 4 Op rateur de d coupage s quentiel ete gt OG oe sad amp a A dee Ae 128 5 5 fonction r cursive de d coupage d un trait 129 5 6 Op rateur de d coupage r cursif 130
256. mation on choisira donc pr f rentiellement les ar tes qui appartenaient la silhouette dans l image pr c dente pour d buter la recherche Buchanan et al BS00 proposent une structure permettant d am liorer et d acc l rer l impl mentation de la d tection force brute des ar tes de silhouettes Ils maintiennent pen dant le rendu des faces un tableau des ar tes du maillage indiquant si elles sont silhouettes ou non lorsqu une face est rendue son orientation avant ou arri re est stock e sur un bit et les entr es du tableau correspondant aux ar tes de cette face sont mises jour l aide de l op ration XOR En d finitive seules les ar tes dont les deux faces adjacentes sont d orien tations oppos es ont une entr e de valeur 1 dans le tableau On peut alors lors d une seconde passe rendre ces ar tes Benichou et al et Gooch et al GSGT99 s appuient sur une repr sentation al ternative pour impl menter une d tection exhaustive des ar tes de silhouette Ils utilisent la fonction de Gauss qui tout point d une surface associe sa normale pour acc l rer la d tection de silhouette sur des maillages polygonaux sous projection orthogonale sur la sph re des directions les normales aux faces sont des points et les ar tes du maillage sont des arcs dont les deux points extr mes sont les normales aux deux faces adjacentes La sph re de Gauss est illustr e par la figure 2 15 Sous projection or
257. mble d expressions mettant en relation ces attributs et des informations issues de la sc ne et de l image Une telle expression pourrait par exemple sp cifier la mani re dont l paisseur des traits doit varier en fonction de leur 7 distance au point de vue ou plus exactement de la distance des objets que ces traits dessinent au point de vue Ce postulat tabli de mani re exp rimentale par le biais de nombreuses observations d illustrations traditionnelles semble intuitivement raisonnable comme nous le verrons dans le chapitre 3 Remarque Il existe des illustrations pour lesquelles aucune relation liant les attributs de style et les informations ne semble se d gager soit parce qu aucune caract ristique visuelle ne se distingue auquel cas la description de style est triviale soit parce que la distribution des caract ristiques visuelles ne r pond aucune logique vidente si ce n est la volont de l artiste du point de vue des informations consid r es Nous avons toutefois observ qu il existe un grand nombre d illustrations couvrant une large vari t de styles auxquelles le postulat pr c dent s applique Selon nous pouvoir g n rer tous ces styles au sein d un m me syst me constitue d j une contribution significative Cadre de travail Il aurait t ambitieux de vouloir aborder ces questions en traitant en m me temps toutes les cat gories de l art pictural et en incluant toutes
258. mettre en question des l ments de l approche elle m me Choix des informations De m me que pour les attributs de style on peut se poser la question de savoir si d une part l ensemble des informations consid r est n cessaire et suffisant et d autre part s il est ais ment extensible par l utilisateur Nous avons prouv tout au long de cette th se que ces informations taient n cessaires Sont elles suffisantes La collecte de ces informations s est faite au fur et mesure de nos exp rimentations jusqu ce que l ensemble form se stabilise Il est toutefois impossible de dire qu il n existe pas de style n cessitant une information suppl mentaire Les informations de base commun ment prises en compte par les modeleurs 3D telles que la g om trie ou les mat riaux sont en tout cas toutes disponibles dans notre syst me Il existe au moins un type d information qui n est pas int gr a notre liste il s agit des information s mantiques Ces derni res jouent souvent un r le dans la stylisation d un dessin et ne sont pas toujours exprimables commme une combinaison des informations classiques Notre m thode chouera mod liser un tel style Concernant l extensibilit du syst me d informations par l utilisateur elle est ce jour impossible Si ce dernier peut d finir ses propres fonctions de requ tes d information partir des informations disponibles l acc s au mod le 3D et
259. mites per ues par l oeil et pouvant tre de nature purement g om trique silhouette ou incluant des consid rations d interactions lumineuses limites des ombres il n existe qu un faible consen sus sur une telle caract risation Nous pr sentons ici les trois types de lignes qui sont le plus commun ment utilis s en NPR les silhouettes les cr tes et vall es et les contours suggestifs Parmi ces trois familles les silhouettes sont probablement celle pour laquelle la caract risation est la plus objective 20 Les lignes de silhouette Ce sont les lignes les plus commun ment repr sent es dans les dessins la figure 2 7 a illustre cette cat gorie de lignes en les isolant d un ensemble de lignes caract ristiques La silhouette d une surface correspond aux endroits de cette surface o celle ci passe d une position o elle est orient e face au point de vue une position o elle est orient e dans l autre sens Math matiquement pour une surface vue depuis V un point P de cette surface appartient la silhouette si et seulement si P V N 0 2 1 N tant la normale cette surface au point P L ensemble des points P tels que P V N gt 0 correspond aux points o la surface est orient e face au point de vue tandis que l ensemble des points P tels que P V N lt 0 correspond aux points o la surface est orient e dans l autre sens La figure 2 6 illustre ces grandeurs On p
260. mme nous l avons soulign la diff rence principale entre le rendu traditionnel et le rendu NPR est le style qui rel ve d un processus humain et dont il est par cons quent essentiel que le contr le revienne l utilisateur La probl matique de cette th se tourne donc de fa on g n rale autour de la question de la sp cification d un style de rendu par l utilisateur Contr le flexible du style Le principal objectif de cette recherche est de proposer une application de NPR offrant l utilisateur un contr le flexible du style du rendu Il s agit alors de d terminer quelles op rations permettent de d crire le style quelles informations interviennent dans ce processus et comment structurer ces informations Il est aussi fondamental de d finir le type d interface le plus adapt un tel but S paration du style et du contenu Dans la mesure o l une des motivations dominantes pour l utilisation de la 3D est la r utilisation il est essentiel d assurer au maximum l ind pendance de la description de style 6 vis vis du mod le Par opposition une application o l utilisateur peindrait interactive ment le style directement sur la sc ne d crire le style la mani re d un algorithme permet de r appliquer un m me style aux rendus de diff rents mod les dans l esprit des shaders de Renderman Ups89 Cette s paration du style et du contenu est la cl commune une auto matisat
261. mme nous le verrons la section 4 5 l impl mentation des requ tes contextuelles est faite par le biais d it rateurs Remarque L acc s au contexte 1D lors d une requ te OD permet en outre d introduire un param tre d chelles dans la requ te certaines informations Par exemple une requ te l information de courbure en un point pourra se faire une chelle plus ou moins grande selon le but poursuivi par l utilisateur Continuit partielle Bien que l apport d un contexte aux requ tes 0 dimensionelles permette de d finir des valeurs pour l information aux sommets du graphe celle ci reste discontinue pour les sommets probl matiques Toutefois si on consid re un sommet V bien que ZY y soit discontinue il est possible qu un sous ensemble des informations y soit lui continu La figure 4 9 illustre cette propri t sur l information d invisibilit quantitative Il est alors important d tre capable de tester la continuit d une partie des informations en un point afin notamment de savoir s il est n cessaire de traiter ce point comme un cas particulier un point de discontinuit pour lequel une fonction sp ciale a t d finie et doit tre appel e ou non On d finit une fonction de requ te d information partielle TI qui un point du graphe associe la composante k du vecteur d information Soit II la fonction qui un vecteur d informations d fini dans J associe
262. mples du chapitre 6 cette fonctionnalit est illustr e par les figures 7 7 concentration des traits dans les zones d j denses et 7 10 lagage uniforme d une structure r guli re 7 3 2 Organisation par styles L organisation que nous adoptons maintenant pour pr senter ces images s appuie sur le type d illustration auquel l image appartient Ainsi les intitul s des sections ressemblent ils 299 dessin anim ou illustration technique Cette cat gorisation ne s appuie sur rien de formel et ne sert qu structurer le document pour en am liorer la lisibilit Style dessin anim Nous avions mentionn au chapitre 3 qu il tait tr s courant dans les dessins anim s de s appuyer sur la couleur du mat riau pour choisir la couleur des traits cf figure 3 3 page 58 Ce type de d pendance attribut information rentre tout fait dans le cadre de notre approche programmable Nous avons donc crit un shader MaterialColorShader qui affecte un trait une couleur qui est une variation de celle de son mat riau Pour ce faire nous travaillons dans l espace LUV des couleurs WS82b et translatons le vecteur couleur du mat riau dans la direction L dans le sens n gatif si la luminance est sup rieure un seuil sp cifi par l utilisateur de mani re obtenir une couleur plus sombre et dans le sens positif dans le cas inverse pour que la couleur obtenue s
263. mportante pour caract riser quel point la distribution finale est spatialement uniforme Pour un seuil de densit donn 7 test une chelle o diff rents dessins peuvent tre obtenus partir du m me arrangement de lignes en fonction de l ordre dans lequel les lignes sont trait es Un dessin o les lignes apparaissent plus uniform ment espac es est dit tre plus r gulier qu un exhibant des groupes de lignes serr es La figure 6 8 illustre cette propri t Cette notion de r gularit est reli e au spectre de Fourier de motifs d chantillonnage non uniforme utilis pour l antialiasing MAZD85 FIG 6 8 R gularit dans la distribution de lignes Malgr la diff rence dans les distributions des lignes observ es sur ces deux images la densit calcul e l chelle du cercle gris en son centre est la m me La distribution des lignes de l image de droite est dite plus r guli re que celle des lignes de l image de gauche Les effets des deux param tres o et 7 sur le r sultat c est dire la densit finale moyenne et la r gularit du dessin sont importants et m ritent d tre discut s Consid rons une situation o un simple seuil 7 est utilis dans le cadre de requ tes de densit causale une chelle Le tableau 6 1 r sume les d pendances entre ces diff rentes variables en montrant com ment la r gularit et la densit finale moyenne varient lorsque soit
264. n 4 dans la formule 6 3 gal au nombre de directions ainsi un segment contribue au plus a deux cartes directionnelles cons cutives 6 4 Densit a priori 161 Par cons quent chaque carte est associ e une chelle et une direction sp cifiques et stocke pour chaque position de pixel la densit de lignes mesur e pour cette chelle et cette direction La figure 6 4 montre un exemple d un sous ensemble de telles cartes pour le mod le de la maison dont l arrangement initial de lignes peut tre vu sur la figure 6 13 En plus des quatre pyramides directionnelles d images nous stockons une pyramide suppl mentaire pour la den sit a priori a directionnelle qui encode les contributions de toutes les lignes ind pendamment de leur orientation Le rendu des cartes constituant les bases des pyramides utilise OpenGL pour chacune des quatre directions une couleur est attribu e chaque segment de ligne celle ci refl tant son poids directionnel w mesur par rapport la direction consid r e cf section 6 4 1 et ce segment est rendu en utilisant un mode de m lange additif Les pyramides gaussiennes sont alors construites partir de chacune des quatre cartes de base L utilisation la plus directe de cette information est l identification des r gions denses d un dessin par rapport une chelle et une orientation donn es Cette information est disponible au travers de sim
265. n couple outil medium sur un support de la g n ration d images voquant des peintures ou des dessins partir de sc nes 3D ou de photographies On y trouve galement des publications traitant des questions relatives l animation de telles illustrations et qui s int ressent en particulier au d veloppement de techniques permettant d assurer la coh rence temporelle des traits dessin s KDMF03 D une mani re g n rale pour retranscrire la libert caract ristique des arts plastiques les applications de NPR doivent 14 offrir l utilisateur un contr le plus important que celui g n ralement disponible dans les applications de rendu photor aliste Deux ouvrages l un par Gooch et Gooch GGO1 et l autre par Strothotte et Schlechtweg SS02 fourniront au lecteur int ress une vision globale du domaine du NPR B Les r gions et les lignes sont les deux grandes familles d l ments constitutifs d un dessin En NPR plus qu en art traditionnel on fait la distinction entre les diff rents l ments constitutifs du dessin tels que les lignes caract ristiques d un c t et les r gions de l autre En effet pour la g n ration d un dessin au trait par exemple les techniques impliqu es dans la d tection et le dessin des lignes caract ristiques sont tr s diff rentes de celles employ es pour la d tection et le remplissage de r gions bien que dans les deux cas la m me primitive
266. n sur la g n ralit des informations 4 6 2 Discussion sur la normalisation des informations 5 Programmation de style 5 1 Une approche modulaire les modules de style 5 2 Op rateurs de description de style 5 2 1 Controle des attributs d apparence des traits op rateur de shading 5 2 2 Stylisation s lect ive et omission de lignes op rateur de s lection 5 2 3 Contr le de la topologie des traits op rateurs de cha nage 5 2 4 Raffinement de la topologie des traits op rateurs de d coupage 5 2 5 Controle de l ordre de traitement des l ments 1D op rateur de tri 5 2 6 Op rateur de dessin 5 3 Pipeline d op rateurs 5 3 1 Propri t s des op rateurs 5 3 2 Synchronisation des donn es ee a es ek ee eee ee ee a 5 3 3 Proposition de pipeline 5 4 Impl mentation 5 4 1 Langage 5 4 2 R gles de style 5 4 3 Pipeline d op rateurs 5 4 4 Param trisation multiple se ae ae hs te SG ae a ewe he ae 5 4 5 Rendu des traits 6 Mesures de densit pour la simplification de dessins au trait
267. nalement en 1997 SWHS97 Salisbury et al publient une nouvelle version de leur syst me dans laquelle l utilisateur dispose d une interface lui permettant de sp cifier des champs de direction sur l image originale l aide de laquelle les directions de courbures des objets pr sents peuvent par exemple tre donn es partir d un exemple de texture de traits et de l image de r f rence en niveaux de gris les hachures sont g n r es de mani re respecter les orientations d finies et correspondre aux tons initiaux La figure 2 2 b illustre le principe de fonctionnement de ce syst me Hill i UT j fi b FIG 2 2 G n ration d illustrations base de hachures partir d images Salisbury et al a Exemple de r sultat produit avec le syst me interactif de hachurage de Salisbury et al Sa lisbury et al SABS94 b Principe de fonctionnement du nouveau syst me de Salisbury et al partir d une image de r f rence d une carte d orientations peinte par l utilisateur et du motif de hachures l illustration est automatiquement g n r e Salisbury et al SWHS97 En 2001 Durand et al DOM 01 proposent galement un syst me interactif permettant de produire une illustration partir d une photographie source L utilisateur dessine directe ment les traits sur l image de r f rence et le syst me se charge d attribuer ch
268. nction de celle du a et exprimer nouveau le style sous forme pseudo algorithmique Par exemple en passant dans l espace LUV WS82b et en translatant la composante L dans une direction ou une autre selon que la couleur est sombre ou claire 3 1 Observation 59 pour chaque ligne l dessiner obj objet l on r cup re l objet auquel l appartient mat materiau obj on r cup re le mat riau de cet objet c couleur mat et la couleur de ce mat riau c f c on calcule la variation de couleur dessiner l avec la couleur c FIG 3 4 Attribut d paisseur des lignes li au mat riau a et b ce sont ict les variations d paisseur qui d pendent du mat riau Pour ces illustrations l attribut est l paisseur et l information g n rique est le mat riau Les illustrations de la figure 3 4 se caract risent quant elles par d importantes variations d paisseur au sein des traits On remarque galement que certaines lignes sont de poids moyen plus important que les autres et que l on peut ainsi s parer l ensemble des traits en deux groupes un groupe de poids fort et l autre de poids faible Pour ces deux illustrations les lignes dont l amplitude des variations d paisseur est la plus importante correspondent aux v tements tandis que les lignes dessinant le visage et les autres parties du corps sont globalement plus fines On peut donc ici aussi
269. ner une moyenne et un cart type standard R sum L ensemble des informations est g n rique dans la mesure o elles existent toutes dans n importe quelle sc ne 3D En revanche l utilisation qui en est faite peut tre sp cifique une sc ne donn e et un style peut par cons quent n cessiter quelques modifications pour tre transpos une autre sc ne En outre la r utilisation de styles d une sc ne l autre peut tre normalis e via une normali sation des informations 114 chapitre 4 Informations utiles aux d cisions stylistiques structuration et acc s Programmation de style Nous arrivons maintenant l tape cl de notre syst me la construction et la stylisa tion des traits partir des ar tes du graphe de vue cf chapitre 4 Dans notre approche ces op rations sont programm es par l utilisateur au sein d une feuille de style Nous propo sons ici un ensemble d op rateurs programmables assimilables des proc dures permettant l utilisateur de formuler ais ment sa description de style En outre nous pr sentons une m thodologie pour l utilisation de ces op rateurs sous la forme d un pipeline C est dans cette programmation de style que les structures les informations et les outils d acc s ces informations que nous avons pr sent s au chapitre pr c dent sont utilis s 5 1 Une approche modulaire les modules de style B Nous choisissons
270. nes haute densit isotropique En bas droite lignes omises dans l image finale R sum Dans ce chapitre nous avons introduit deux mesures de densit pour le dessin pour contr ler et pr venir l encombrement La densit a priori est calcul e une fois pour toute avant le rendu sur l ensemble complet des lignes composant la vue Elle peut tre valu e pour diff rentes positions chelles et orientations et permet une analyse puissante de la structure locale Par contraste la densit causale est mise a jour au fur et a mesure que le dessin est cr fournissant ainsi des infor mations propos de l tat courant du dessin de mani re offrir un contr le plus fin sur le r sultat final Utilis es s par ment ces deux mesures fournissent des informa tions utiles pour diriger des strat gies de simplification et d omission Mais c est en r alit lorsqu elles sont exploit es ensemble qu elles offrent un contr le puissant et fin sur la complexit finale la r gularit et le style du dessin En particulier nous avons montr qu elles facilitent l exploitation ou la mise en emphase de la r gularit dans la vue en utilisant des strat gies picturales telles que l lagage uniforme ou Vindication 172 chapitre 6 Mesures de densit pour la simplification de dessins au trait Fic 6 13 Simplification suivant la strat gie d indication Les versions initiale et simplifi e sont resp
271. ngs of the 17th annual ACM sym posium on User interface software and technology pages 95 98 ACM Press 2004 Karan Singh A Fresh Perspective In Proc Graphics Interface pages 17 24 May 2002 Alexander Stepanov Meng Lee and David Musser The C Standard Tem plate Library Prentice Hall 2000 Yann Semet Una May O Reilly and Fr do Durand An interactive artificial ant approach to non photorealistic rendering In Genetic and Evolutionary Compu tation COnference 2004 M C Sousa and P Prusinkiewicz A few good lines Suggestive drawing of 3d models Proc Eurographics 2003 M C Sousa and P Prusinkiewicz A few good lines Suggestive drawing of 3d models Computer Graphics Forum Proc of EuroGraphics 03 22 3 2003 Thomas Strothotte and Stefan Schlechtweg Non Photorealistic Computer Gra phics Modeling Rendering and Animation Morgan Kaufmann 2002 T Saito and T Takahashi Comprehensible Rendering of 3 D Shapes In Com puter Graphics Proc SIGGRAPH 1990 Steve Strassmann Hairy brushes Siggraph 20 4 225 232 August 1986 M Salisbury M Wong J Hughes and D Salesin Orientable textures for image based pen and ink illustration Proc SIGGRAPH 1997 Conrad Taylor Line thickness a means of expression 2003 Daniel Teece Ink line rendering for film production In Mario Cost Sousa editor Theory and practice of Non Photorealistic Graphics Algorithms Methods and Production Systems SIGGRAPH
272. nnect es au sommet extr mit Tous les it rateurs de cha nage peuvent optionnellement tre contraints rester dans la s lection et ne pas consid rer les ar tes ayant d j t cha n es Quelques it rateurs de chainages classiques sont mis la disposition de l utilisateur NatureChaininglterator Cet it rateur de cha nage construit un trait en suivant les ar tes de m me nature le long d un objet Cet it rateur impl mente en quelque sorte le cha nage le plus naturel respect de la topologie des objets Ainsi en partant d une ar te donn e 143 E le chainage se poursuivra le long d une ar te F si E et E sont connect es en 3D et si elles sont de m me nature On cha ne en priorit les ar tes de silhouette Un exemple de traits construits l aide de ce chainage est montr sur la figure 5 14 b ChainPredicatelterator Cet it rateur permet de cha ner les ar tes respectant certaines conditions d finies par l utilisateur Ces conditions peuvent porter sur l ar te seule ou sur le couple form par l ar te candidate et l ar te pr c dente ou sur les deux Il prend en arguments un pr dicat unaire II et un pr dicat binaire II La fonction traverse it re alors sur les ar tes candidates et teste pour chacune d elles les pr dicats IL et II La premi re ar te v rifiant ces deux conditions est retourn e La fonction traverse est impl ment e selon l algorithme sui
273. ns une notion causale de densit o la complexit courante locale peut tre valu e et affecte la d cision de dessiner le prochain trait ou pas ainsi que la mani re de le dessiner C est le r le de la densit causale Cette derni re est mesur e dans l image dans laquelle les traits sont rendus cf figure 6 3 et est causale dans la mesure o elle est mise jour chaque fois qu un nouveau trait est rendu et o un trait donn influencera uniquement les d cisions portant sur les traits qui le suivent Par exemple la densit causale peut tre utilis e pour omettre un trait donn si la densit locale est trop importante La densit causale est d crite la section 6 5 La causalit donne ici l ordre dans lequel les traits sont dessin s et donc l op rateur de tri une importance particuli re En effet il peut tre crucial de traiter les traits dans un ordre appropri de mani re ce que les traits importants soient dessin s en premier et soient moins m me d tre omis 158 chapitre 6 Mesures de densit pour la simplification de dessins au trait Cette information de densit causale est essentielle pour contr ler la complexit courante du dessin Cependant elle est limit e sans sa capacit planifier et exploiter le traite ment de structures r p titives Or certaines strat gies telles que Vindication par exemple qui sugg rent la complexit
274. nt chaque intersection avec une silhouette selon que la ligne passe derri re une surface ou en ressort Markosian MKT 97 reprend la technique d Appel et propose d exploiter un certain nombre de propri t s de mani re l acc l rer En particulier les points de rebroussement sont caract ris s de mani re limiter les tests de visibilit Ainsi pour une approximation polygonale de la silhouette un sommet est un point de rebroussement si 1 il est adjacent exactement deux ar tes de silhouette l une orient e avant et l autre orient e arri re une ar te de silhouette est dite orient e avant lorsque sa face adjacente la plus proche du point de vue est elle m me orient e vers le point de vue et arri re dans le cas contraire 2 il est adjacent plus de deux ar tes de silhouette Si l on suit l approche exacte le calcul de visibilit peut poser des probl mes lorsque l on travaille avec les silhouettes exactes introduites par Hertzmann et al HZ00 cf section 2 2 2 En effet dans ce cas les silhouettes obtenues approchent celles de la surface lisse approxim e par le maillage et moins de raffiner le maillage dans les zones de silhouette lors du calcul de visibilit il est donc possible d observer des contradictions entre la visibilit attendue et celle calcul e partir du maillage En pratique pour chaque portion de contour de visibilit constante on a
275. nt aux entr es de O 1 Soit l l l ensemble des l ments e g ar tes pass en entr e du pipeline La figure 5 9 illustre ce pipeline 133 l L I I NO L L FIG 5 9 Synchronisation du pipeline d op rateurs L tude de la question de synchronisation se fait sur ce pipeline th orique n l ments l sont trait s par les op rations O1 O2 O3etO14 L objet de cette tude est de d terminer l ordonnancement des l ments au travers de la s quence d op rateurs Dans la mesure o nous nous pla ons dans un sch ma de fonctionnement s quentiel un instant t un seul l ment l est trait par un seul op rateur Oj ce m me instant t les l ments x auront d j t trait s par les op rateurs O Ce sont ces ensembles d indices respectivement parcourus par k et p qui changent avec le mode de synchronisation choisi Et c est par cons quent l ensemble des informations disponible lors du traitement de li par O qui change galement puisque chaque op ration O lx rajoute une information diff rente par exemple si Op est l op rateur de s lection le fait d avoir appliqu Op l nous permet de savoir si l fait partie de la s lection ou pas On d cidera donc d un sch ma de synchronisation plut t que d un autre en fonction des informations qu on veut pouvoir utiliser un instant t lors du traitement d un l ment l par un op rateur O
276. nt manipul e dans le module de style Le chapitre 7 montre des exemples de code source de modules de styles sur lesquels on peut voir les donn es manipul es par l utilisateur dans une description de style 5 3 3 Proposition de pipeline Compte tenu des remarques faites dans les sections pr c dentes nous proposons ici une organisation en pipeline des op rateurs Le pipeline complet est compos de deux sous pipelines Pop et D respectivement synchronis s par op ration et par l ment 137 Popa Pop era selection chainage selection decoupage tri selection a selection shade dessin La figure 5 10 illustre ce pipeline sur trois exemples de module de style Ainsi le squelette d un module de style est toujours constitu d appels s quentiels aux diff rents op rateurs fournis dans un ordre qui respecte celui propos ici La figure 5 11 donne un aper u de la structure du code des modules de style Le code exhaustif de ces trois modules de style est donn section 7 2 R sum Nous avons propos un pipeline pour organiser les appels aux op rateurs au sein d un module de style et remarqu que deux modes de synchronisation pou vaient tre envisag s dans ce pipeline un mode de synchronisation par l ment et un mode de synchronisation par op rateur En pratique ces deux modes cohabitent dans deux sous parties diff rentes du pipeline
277. ntiel de tracer en premier les traits qui 130 Algorithme 5 6 Op rateur de d coupage r cursif Fonction RecursiveSplit Entr e f fonction de l ensemble des points de G dans un ensemble E mip pr dicat unaire 1D d arr t de r cursion IIP ect pr dicat unaire OD de pr s lection des points de coupure candidats 7 un ensemble de traits Sortie TJ un ensemble de traits 1 T l ensemble actif des traits 2 T 0 3 porTET 4 RecursiveSplitChain T sont visuellement plus importants de mani re ce qu ils aient le moins de chance d tre omis le chapitre 6 expose plus en d tails l omission de lignes bas e sur la densit et l utilisation de l op rateur de tri dans ce contexte En r alit pour tous les op rateurs agissant selon un algorithme glouton l ordre dans lequel les l ments sont trait s peut tre important Ainsi nous fournissons un op rateur de tri utilisable sur n importe quelle s quence d l ments 1D Entr es Sorties L entr e de cet op rateur est une s quence d l ments 1D et la sortie et une s quence tri e contenant les m mes l ments 1D R gle La r gle sp cifier est ici un pr dicat binaire de comparaison permettant de d terminer le plus prioritaire de deux l ments 1D Ce pr dicat peut s appuyer sur l ensemble des infor mations d fini au chapitre pr c dent La d finition d un ordre pertin
278. ntrol au travers de proc dures Ce type de contr le requiert des capacit s de programmation similaires celles d un directeur technique dans le rendu de productions mais il fournit un contr le plus puissant sur le style Cela inclut en particulier l utilisation d informations g n riques de mani re produire une description ind pendante du mod le 3D En terme de mod lisation traditionnelle la diff rence entre leur syst me et le n tre est la m me qu entre la peinture interactive sur mod les 3D et les shaders proc duraux Aujourd hui les deux approches sont utilis es conjointement et nous pensons qu une approche programmable est un compl ment similaire des techniques interactives telles que WYSIWYG NPR Les approches mixtes Vue d ensemble On appelle approches mixtes les approches qui combinent un aspect interactif au travers d une phase d dition et un aspect automatique au travers du moteur de rendu La figure 2 34 reprend l tage de stylisation de la figure 2 12 sous la forme d une approche mixte Durant la phase d dition l utilisateur sp cifie de mani re interactive un mod le de style Cette phase d dition pr sente les avantages des approches interactives Ce mod le de style sera ensuite utilis durant la phase de rendu pour sp cifier le style utiliser au moteur de rendu Cette tape de rendu est g n ralement ind pendante de la sc ne consid r e et est en ce sens automatique
279. ois appels s quentiels aux op rateurs de s lection de shading et de dessin creation selection shade dessin Entr es sorties Les entr es de cet op rateur sont les traits et la sortie est l image finale R gles Les r gles sp cifier sont les m mes que pour les diff rents op rateurs encapsul s dans cet appel Ainsi on peut sp cifier un pr dicat unaire 1D utilis pour la s lection ainsi qu un ensemble de shaders Algorithme L algorithme de l op rateur cr ation est montr sur l algorithme 5 8 Une autre cons quence de cette mise en uvre est qu on ne manipule jamais vraiment d op rateurs de shading bien qu on impl mente des shaders ou de dessin 5 4 4 Param trisation multiple Il est parfois souhaitable de programmer un shader de mani re ce qu un attribut varie le long d une cha ne virtuelle Sur la figure 5 19 a par exemple l paisseur du trait tra ant la 148 chapitre 5 Programmation e Fic 5 17 Shaders standard shaders de bruit Plusieurs shaders de bruit sont fournis par le syst me et permettent de perturber la g om trie l paisseur ou la couleur des traits a et b Le shader de bruit spatial permet de perturber la g om trie des traits Sur cette figure on voit deux exemples d utilisation de ce shader avec des pa ram tres amplitude et fr quence diff rents c et d De m me le shader de bruit d paisseur permet de
280. oit cette fois plus claire La figure 7 6 illustre ce shader En outre sur ces illustrations la g om trie des traits a t liss e et leur paisseur varie afin que l aspect obtenu soit plus fluide 192 chapitre 7 R sultats FIG 7 6 Style dessin anim Sur ces illustrations la couleur des traits a t d termin e automatiquement dans un shader partir de la couleur du mat riau correspondant afin d imiter le style des films d animation traditionnels La couleur d un trait est obtenue en translatant dans l espace LUV la couleur du mat riau selon L dans un sens ou dans l autre selon que le mat riau est clair on fonc a et b Les traits seuls c et d les traits superpos s un rendu uniforme du mod le 3D Style Renaissance La figure 7 7 montre un exemple complexe construit partir de huit modules de style et appliqu un mod le de statue de la vierge Cet exemple illustre notamment l utilisation du syst me des modules de style pour construire des styles riches ainsi que l exploitation de l information de densit pour mettre en valeur des sous parties du mod le Trois des modules construisent un patron du dessin cf figure 7 7 b les deux premiers tracent des boites englobantes partir des traits donnant une approximation tr s grossi re de la forme du mod le et le troisi me dessine des traits de crayon temporaires
281. oite noire qui lui permet de fabriquer une image dans un style donn partir d une sc ne 3D quelconque La figure 2 30 montre le deuxi me tage du pipeline complet correspondant aux approches automatiques En pratique cette boite noire est une impl mentation du pipeline de rendu analytique de 48 chapitre 2 tat de l art lignes cf figure 2 12 dans laquelle des choix de mise en style ont t faits c est dire que les approches automatiques m lent choix techniques et choix artistiques L int r t d une telle approche est que ce style est g n rique dans la mesure o n importe quelle sc ne 3D peut tre utilis e en entr e L inconv nient r side dans le peu de contr le fourni l utilisateur En effet ce dernier n a en g n ral pour varier ses styles de rendu que le choix de modifier quelques param tres ou de changer de boite noire Build strokes with attributes Strokes and Attributes Feature edges information FIG 2 30 tage de stylisation approches automatiques Dans les approches automatiques une boite noire permet de rendre n importe quel sc ne 3D dans un style donn Ces approches m lent ainsi choix techniques et artistiques et offrent peu de contr le Vutilisateur sur le style de rendu De tr s nombreux articles pr sentent ce type de moteur de rendu dans un style donn
282. on non pas sur G mais sur G x x Soient E et E deux ar tes de G connect es un m me sommet V Il existe alors P neN une suite de points de l ar te F et P en une suite de points de l ar te E telles que P lim Pi V n co P lim P V n Co P tant la projection qui transforme le rep re monde en le rep re cam ra On d finit Z comme TY GxExE gt I V Ei E f lim Z P i lim T Pi o f est une fonction de J x I dans I qui d cide notamment de quelle valeur renvoyer en cas de discontinuit On peut par exemple d finir f par d faut comme fs FRE 7 A A gt A Si V n est pas un sommet E Ej et lim Z P T lim P Z V n o0 n o0 102 Si V est un sommet alors E et E sont deux ar tes distinctes connect es V et Z9 V E Ej est gale la limite gauche de Z en V sur l l ment 1 dimensionel constitu par F et Ej En pratique la fonction f est plus sp cialement d di e au comportement adopter aux sommets du graphe de vue en cas de discontinuit les requ tes 0 dimensionelles tant par faitement d finies pour tout autre point Le choix de la limite gauche comme valeur de l information en un point de discontinuit n est pas n cessairement le plus adapt l utilisation que l on veut en faire L utilisateur peut sp cifier quelle fonction f utiliser c est dire quel comportement adopter en cas de discontinuit Co
283. ondeur elle est donc trac e avec un poids faible William Herdman 1850 Le style de l illustration de la figure 3 5 est ici encore d l utilisation de poids diff rents pour les diff rentes lignes du dessin Cette fois on peut remarquer que les lignes de poids le plus fort correspondent aux silhouettes marquant de fortes discontinuit s en profondeur la discontinuit en profondeur est d finie pr cis ment dans la section 3 3 La figure 3 21 en est une illustration Si la distance entre l objet dessiner et le plus proche objet situ derri re est importante les lignes de silhouette seront trac es avec un poids important Ainsi en chaque point d une ligne de silhouette l paisseur de la ligne est proportionnelle la discontinuit en profondeur On peut donc d finir le style de cette illustration de la mani re suivante 3 1 Observation 61 pour chaque ligne l dessiner pour chaque point p de l d discontinuit en profondeur en p on calcule la discontinuit en profondeur en p paisseur l en p f d on assigne la ligne l au point p une paisseur proportionnelle d B L omission des lignes est li e la densit du dessin FIG 3 6 Omission de lignes li e la densit du dessin Dans ce dessin l artiste a omis de nombreuses lignes de mani re conserver une densit constante sur l ensemble du dessin L omission de lignes d
284. ons afin de rendre plus concr te la signification d une requ te 1D et des probl mes qui peuvent se poser Pour chaque information on consid re les deux cas possibles de continuit le long de l l ment 1D et on examine si l int gration des requ tes OD en utilisant chacune des quatre op rations exemples a du sens Cette tude est synth tis e sous la forme d un tableau pour chaque information Des exemples d utilisation sont donn s pour certaines requ tes la suite du tableau et un certain nombre de remarques g n rales li es au type de l information par exemple sont formul es la fin de cette section Remarque L valuation le long d un l ment 1D d une information 3D d finie dans R est probl matique En effet la r gularit de l chantillonnage d un tel l ment est seulement garantie en 2D Par cons quent l utilisation de la moyenne ou de toute autre op ration d agr gation sur une information 3D risque de donner des r sultats incoh rents L acc s une param trisation 3D r guli re au moins pour les morceaux 3D connexes fait partie des d veloppements futurs Nous indiquons dans la suite des exemples de traitements pour les informations 3D qui supposent qu une telle param trisation est accessible Coordonn es 3D Moyenne Maximum Minimum Union Continu J V X Discontinu J y X D une mani re g n rale cette information permet de prendre des d
285. ons au sein du processus de dessin Ce dernier consiste alors en la fabrication et au rendu d un ensemble de traits stylis s partir de l ensemble des lignes caract ristiques e g silhouettes d tect es sur le mod le en suivant les r gles de 79 stylisation Dans la mesure o c est l utilisateur de sp cifier le style il est essentiel qu un tel syst me offre un contr le flexible sur le processus de dessin Comment faire B L approche programmable est le moyen naturel de sp cifier explicitement un proces sus Nous avons vu section 2 4 que les approches mixtes sont une alternative int ressante aux approches automatiques qui ont l inconv nient de m ler les choix artistiques et techniques dans la phase de conception et de laisser un trop faible contr le l utilisateur et aux ap proches interactives qui ne permettent pas la r utilisation d un style Elles permettent ainsi de b n ficier d une approche qui est d une part automatique dans la mesure o l utilisateur cr e un patron de style g n rique r utilisable sur d autres mod les et qui d autre part offre un contr le flexible sur la sp cification de ce style La question qui se pose alors est quelle technique utiliser pour la phase d dition durant laquelle l utilisateur doit produire une feuille de style r utilisable Nous avons vu section 2 4 2 que jusqu ici la plupart des travaux de re cherche s appuyaient sur des techniques d
286. ons de la sc ne Notre ap proche s efforce de combiner les concepts de feuille de style et d utilisation de l information partiellement introduits par Hamel et al Un certain nombre d articles TF97 FTP99 HS99b HJO 01 HOCS02 Her03 KMM 02 JEGPO02 ont utilis cette approche dans le cadre du rendu NPR stylis Ces techniques se focalisent habituellement sur les aspects statistiques et bas niveau des styles en cherchant transf rer des variations d attributs e g g om trie ou paisseur d un trait exemple un trait cible Pourtant de nombreux travaux WS94 DOM 01 Her0la DS02a ont montr que des variations subtiles plus globales pouvaient changer compl tement le style d une image ou permettre de focaliser le regard sur un point donn ce jour les techniques bas es sur le Machine Learning chouent capturer des attributs de style de plus haut niveau La difficult est que pour apprendre un style complexe il est n cessaire de disposer d un mod le de style et qu un tel mod le n existe pas ce jour Dans notre approche les r gles de style sont au contraire du Machine Learning expli citement manipul es par l utilisateur Le couplage du Machine Learning avec des m thodes dans lesquelles la connaissance est explicite nous semble tr s prometteur en particulier pour la capture de style Approches programmables Existe t il une approche plus adapt e
287. ont trait s rev t une importance particuli re Dans le cadre de l omission de lignes pour simplifier le dessin par exemple cet ordre est essentiel dans la mesure o les ar tes les plus importantes doivent tre gard es en priorit et donc dessin es en priorit Un op rateur de tri permet donc de d finir un ordre sur les l ments manipul s Chacun de ces op rateurs est programmable et son action peut tre param tr e par l ensemble des informations de la sc ne ces derni res tant accessibles par le biais de fonctions d acc s Le chapitre 5 pr sente la base des op rateurs propos e et l acc s l information est discut en section 4 4 chapitre 4l partir de cette feuille de style du graphe de vue et des informations un ensemble de traits sont cr s ce sont ces traits qui seront finalement trac s dans le dessin la stylisation tant contenue dans les attributs associ s chacun d eux La structure des traits est pr sent e en section 4 3 chapitre 4 Ces traits sont finalement rendus dans l image finale 82 Remarque Le choix de construire des traits partir des lignes caract ristiques d tect es sur la sc ne 3D est un choix de design important En effet il implique que seules les lignes intialement pr sentes dans le graphe de vue pourront appara tre dans le dessin final Ainsi pour simplifier un dessin au trait nous n aurons que le choix d omettre des traits
288. ou dans la direction oppos e au point de vue change On peut avoir plusieurs lignes de silhouette par objet 11 Contour C est le sous ensemble de la silhouette qui marque la limite de l objet Dans le plan image exactement une des deux r gions s par es par un contour n est pas incluse dans la projection de l objet d limit par ce contour Lignes caract ristiques Ce sont l ensemble des lignes habituellement dessin es pour repr senter une sc ne donn e et qui n incluent pas les lignes d ombrage e g hachures Parmi les lignes caract ristiques on trouve par exemple les lignes de silhouette ou les ar tes vives Dessins de lignes Ce sont des dessins contenant uniquement des lignes ca ract ristiques 12 chapitre 1 Introduction tat de l art Dans ce chapitre nous pr sentons les travaux ant rieurs associ s notre recherche La premi re partie est consacr e donner un aper u global du domaine de recherche du NPR Les articles majeurs illustrant les diff rents aspects du NPR y sont cit s et bri vement d crits En outre cette partie nous donne l occasion d indiquer o s inscrit notre recherche dans le contexte global du NPR Les deux parties suivantes d crivent des techniques de base n cessaires au d veloppement de notre application Finalement dans la derni re partie nous tudions des travaux de recherche s tant fix s le m me but que nous en insistant sur leurs points fo
289. ou de modifier leurs attributs visuels et pas celui de remplacer un groupe de trait par un trait diff rent Ce choix est dans notre cas incontournable dans la mesure o il garantit l existence d informations 3D pertinentes associ es chacune des lignes consid r es Du point de vue de la repr sentation picturale cela signifie qu on se place dans le contexte de 3D projet e en 2D plut t que dans celui de construction 2D pour ressembler la 3D Cette derni re strat gie est moins contrainte et offre notamment au niveau de la simplification de dessins au trait des possibilit s qu il serait int ressant d tudier dans l avenir Informations utiles aux d cisions stylistiques structuration et acc s Dans notre approche une description de style consiste sp cifier comment construire et styliser des traits partir d un ensemble de lignes caract ristiques d tect es sur le mod le 3D Dans ce chapitre on s interroge sur l organisation et la structuration qui sont les plus adapt es cet objectif La structure de donn es centrale que nous adoptons le graphe de vue est le r sultat d un d coupage et d une structuration s appuyant fortement sur les informations d crites la section 3 3 qui semblent tre utiles aux d cisions stylistiques Ce choix est motiv par le postulat que nous avons justifi au chapitre pr c dant et suivant lequel ces informations jouent un r le dans la mod lisation
290. our celle du milieu Ainsi les images sont simplifi es uniform ment en gardant respectivement toutes ou la moiti des tuiles La figure 6 11 d montre le bon contr le sur l omission de lignes en simulant l effet 3D de perspective au travers de requ tes multi chelle de la densit causale notre but est de dessiner une version simplifi e haut d une grille bas de la mani re la plus naturelle chaque barreau est repr sent avec une seule ligne au lieu de deux et seulement la moiti des barreaux verticaux sont dessin s Les barreaux sont distribu s uniform ment le long de la grille avec un espacement d croissant mesure que l on s loigne du point de vue de mani re respecter l impression de perspective Pour ce faire les lignes ont t soumises au test de la densit causale la taille du noyau gaussien d pendant de la profondeur de la ligne consid r e la taille du noyau vaut approximativement deux fois l espacement entre deux barreaux dans l image simplifi e De plus nous nous appuyons sur l information directionnelle fournie par 6 6 Applications et r sultats 169 FIG 6 10 lagage uniforme d un toit tuiles partir du profil d chelle section 6 4 3 de la densit a priori on inf re la taille appropri e pour le noyau de l estimateur de densit causale de mani re a dessiner un toit simplifi avec toutes les tuiles gauche ou la moiti des tuiles
291. ous notre dict e 56 chapitre 3 Mod lisation de style FIG 3 1 L importance du style des lignes dans l aspect visuel d un dessin a et b Blake et Mortimer dessin s respectivement par Edgar P Jacobs et Ted Benoit Bien que les m mes personnages soient repr sent s on voit ais ment qu ils ont t r alis s par deux artistes diff rents On peut entre autres remarquer que Jacobs utilise plus de traits que Benoit et que ses traits sont l g rement moins pr cis et plus fins Edgar P Jacobs 1947 1977 Blake et Mortimer et Ted Benoit 1996 Blake et Mortimer Ben96 c et d Le personnage Nao de la s rie Aquablue dessin respectivement par Vatine et Tota Ici aussi bien que le m me personnage soit repr sent dans les deux illustrations ces derni res ont des aspects tr s diff rents Le trait de Vatine est plus s r et appuy que celui de Tota r sultant en des traits de poids globalement plus importants Par ailleurs chez Vatine on constate de grandes diff rences d paisseur d un trait l autre tandis qu ils sont d paisseur uniforme chez Tota Cailleteau et Vatine 1989 Delcourt et Cailleteau et Tota 1998 Delcourt CT 98 On observera en particulier les attributs de style e g paisseur couleur des lignes et leur relation aux informations de la sc ne repr sent e e g nature des lignes profondeur B Le poids des lignes est li leur nature Les trois ill
292. par l utilisateur l aide du langage d di fourni Cette description de style est comparable aux shaders de Renderman et sera r utilisable de mani re permettre le rendu de n importe quelle sc ne 3D dans le style vis Le rendu photor aliste a beaucoup gagn en puissance gr ce de tels syst mes Apo99 qui semblent d autant mieux s adapter au rendu non photor aliste que ce dernier exige encore davantage d expressivit Le choix d une telle approche pour mod liser le processus de dessin suppose premi rement qu on d compose ce processus en un ensemble d op rations l mentaires et que deuxi mement on permette l utilisateur de programmer directement le comportement de chacune de ces op rations B Le processus de dessin doit tre d compos en une base d op rateurs programmables Dans notre cas il s agit donc d identifier l ensemble des op rateurs qui constituent le processus de dessin et de mettre au point une architecture qui permette l utilisateur de les programmer La d composition du processus de dessin en cette base d op rateurs revient par ailleurs proposer une m thodologie de mod lisation du style 80 Il est important lors de la d composition du processus de dessin en op rations de veiller adopter chaque fois la granularit la plus adapt e En effet les op rateurs de description de style ne doivent pas tre de grain trop gros afin de rester flexibles et expressifs Ils
293. partient au contour ext rieur ou non bas On a ici s lectionn le sous ensemble des ar tes visibles mais n appartenant pas au contour ext rieur Entr es Sorties L op rateur de s lection travaille sur des l ments 1 dimensionnels En fonction de la place dans le processus de dessin laquelle cet op rateur est utilis les l ments manipul s peuvent tre des ar tes du graphe de vue des traits La sortie de cet op rateur est un sous ensemble des l ments d entr e Les entr es et les sorties sont donc des l ments de m me type R gle La r gle de s lection est une condition portant sur un l ment 1D Si cette condition est v rifi e l l ment est s lectionn sinon il est rejet Cette r gle est pass e l op rateur de s lection sous forme d un pr dicat 122 Rappel Un pr dicat est un op rateur logique qui retourne vrai ou faux On distingue les pr dicats unaires qui valuent une condition sur un l ment des pr dicats binaires qui valuent une condition sur deux l ments Les pr dicats binaires englobent notamment les op rateurs de comparaison entre l ments Algorithme L algorithme pour l op rateur de s lection cf algorithme 5 1 prend en argument un pr dicat unaire travaillant sur des l ments 1D pouvant tre des ar tes du graphe de vue ou des traits De m me les l ments 1D manipul s en entr e et en sortie peuvent tre des ar
294. ples requ tes De telles r gions correspondent aux zones sombres sur la figure 6 4 Le densit a priori pourrait d j tre utilis e pour contr ler de l omission de lignes par exemple en assignant chaque trait une probabilit d omission inversement proportionnelle sa densit a priori comme illustr par la figure 6 5 Cette technique permet effectivement de contr ler la densit finale moyenne mais n offre aucun contr le fin sur le placement des traits tel que celui fournit par la densit causale cf section 6 5 FIG 6 5 Simplification s appuyant uniquement sur la densit a priori La probabilit pour chaque ligne d tre limin e est inversement proportionnelle a sa densit On a ainsi un contr le grossier sur la densit finale moyenne mais aucun contr le fin sur le placement des traits produisant cet aspect al atoire La densit causale section 6 5 est d di e cet objectif comme le d montre la figure 6 10 par exemple 162 6 4 3 La densit en fonction de l espace de l chelle et de l orientation Nous montrons maintenant comment l information orient e et multi chelle contenue dans nos pyramides de densit a priori peut tre utilis e pour analyser les structures et permettre des strat gies de simplification telles que l indication Dans ce but nous nous inspirons des techniques d analyse d image et de motif
295. potentiellement entrer en conflit avec une approche par simulation L alternative la simulation adopt e dans la grande majorit des cas et en particulier dans le rendu interactif est le plaquage de texture Ce dernier copie la r alit microscopique sous la forme d une image de trait au lieu de la simuler tout en laissant un contr le potentiel sur les attributs macroscopiques tels que la couleur et l paisseur De plus cette technique permet d exploiter les ressources des cartes graphiques pour acc l rer l affichage Dans ce contexte un trait est rendu sous forme d une bande de triangles triangle strip textur e Plusieurs articles proposent des m thodes destin es construire de telles structures partir de la g om trie du trait et de ses attributs d paisseur Ces articles d crivent en particulier la gestion des cas probl matiques pour lesquels le trait pr sente une courbure importante Hsu et al HL94 proposent dans un tel cas de subdiviser la g om trie du trait d autant plus que la courbure est importante Virtuellement on ne peut donc pas avoir de repliement d un triangle sur son voisin Northrup et al quant eux proposent simplement de modifier l paisseur du trait en fonction de l angle form par deux segments cons cutifs du trait plus cet angle est faible plus l paisseur sera multipli e par un facteur important cf figure 2 26 Ceci permet d viter les r tr cis
296. pul s dans une description de style et doivent ce titre permettre un acc s aux informations en n importe lequel de leur point En particulier nous verrons au prochain chapitre qu il existe un op rateur de d coupage qui n cessite de d terminer le point du trait r alisant le minimum d une fonction donn e Dans ce cas il est essentiel d tre capable de raffiner la g om trie du trait si besoin est pour disposer d une valuation suffisante de la fonction Un trait peut donc tre r chantillonn la demande par l utilisateur qui sp cifiera la valeur de r chantillonnage d sir e Dans notre impl mentation ce r chantillonnage est virtuel dans la mesure o un sommet temporaire est cr la de mande la position d sir e mais n est pas stock de mani re permanente 99 Le deuxi me m canisme de r chantillonnage concerne l affectation d attributs visuels certaines mises en style imposent un chantillonnage relativement fin qui s il n est pas na turellement disponible doit tre forc Par exemple si l on veut que la couleur d un trait varie graduellement d une couleur une autre entre ses deux extr mit s il faut disposer d un nombre suffisant de points sur l ensemble du trait Dans les deux cas le r chantillonnage est r gulier et est calcul dans l espace image Par constraste il peut galement tre n cessaire de supprimer des sommets d un trait Par
297. que celles du fond Smith et al 1995 Dorling Kindersley Limited SWHW95 b L omission de lignes est d autant plus importante que les visages dessin s sont loin de la cam ra Katsuhiro Otomo 1996 Editions Delcourt Oto96 Coordonn es 2D De m me que les coordonn es 3D les coordonn es 2D peuvent tre utilis es pour pa ram trer des effets de style directement associ s la g om trie de la sc ne apr s projection On peut par exemple diviser l image en plusieurs zones et utiliser un style diff rent pour les traits de chaque zone Ce type d effet est illustr sur la figure 3 14 Normales 3D Orientation 3D En rendu photor aliste les normales 3D permettent notamment de calculer l ombrage d une surface a partir des positions des sources lumineuses Elles sont donc souvent utilis es de mani re inconsciente par les artistes pour imprimer leurs dessins une information d ombrage et peuvent ainsi prendre part la d finition du style de Villustration La figure 3 15 illustre cette propri t Normales 2D La plume et le pinceau font partie des outils les plus utilis s pour encrer les lignes d une illustration en particulier dans le monde de la bande dessin e Les pleins et les d li s cr s par ces outils offrent un aspect calligraphique apr ciable En supposant que l outil garde une orientation constante le long d un trac les zones de pleins et de d li s ne d pendent q
298. r me flexibilit du syst me pourrait dans certains cas accentuer les probl mes de coh rence tem porelle par rapport aux syst mes de rendu pr c dents En particulier il serait parfois impos sible de respecter pour chaque image d une animation la fois les contraintes fix es par le module de style et celles induites par une gestion de la coh rence temporelle telles qu une param trisation coh rente des traits KDMF03 Cependant des travaux r cents en NPR pour l animation KDMF03 KSC 01 CTP 03 renforce notre sentiment que la question de la coh rence temporelle pourrait grandement b n ficier d une approche programmable Une plus grande vari t de compromis et de choix stylistiques li s la description temporelle serait par exemple ainsi accessible Dans le cas d une animation pr d finie on pourrait imaginer inclure la dimension tempo relle dans les param tres des modules de style de mani re int grer la gestion des v nements de visibilit e g fusion de deux traits apparition d une silhouette la description de style De cette mani re m me les op rations topologiques e g d coupage de traits qui sont na turellement l origine de discontinuit s temporelles pourraient anticiper sur l apparition de telles discontinuit s G n ralisation de l approche programmable Ce projet de recherche nous a confort dans l id e que les approches programmables sont part
299. r arete Sinon le choix de l arete a suivre est arbitraire class pySketchyChainingIterator ChainingIterator Constructeur tH nRounds le nombre de fois qu une arete peut etre chainee tHe stayInSelection indique si le chainage peut s etendre en dehors de 4 de la selection def __init__ self nRounds 3 stayInSelection 1 On autorise le chainage a chainer plusieurs fois la meme arete 0 ChainingIterator __init__ self stayInSelection 0 None 1 self _timeStamp GetTimeStampCF nRounds Fonction d initialisation du chainage def init self On initialise la valeur du time stamp de maniere a chainer chaque arete nRounds fois au maz self _timeStamp GetTimeStampCF nRounds Fonction d iteration sur les aretes du graphe 7 1 Code source de r gles de style 181 iter Iterateur sur les aretes adjacente au sommet courant def traverse self iter winner None Adjacencylterator type de iter it Adjacencylterator iter On itere sur les aretes candidates pour choisir la prochaine while it isEnd 0 ve it getObject L arete sur laquelle on se trouve est ecartee if ve getId self getCurrentEdge getId it increment continue winner ve it increment Si on n a rien trouve on repasse par la meme if winner None winner self getCurrentEdge Si l arete a deja ete chainee nRounds fois on arete la chaine if winner getChainingTim
300. r de cha nage unidirectionnel Fonction UnidirectionalChain Entr e suivant une fonction d it ration sur les ar tes du graphe de vue II un pr dicat unaire d arr t op rant sur des l ments 1 dimensionnels un ensemble d ar tes du graphe de vue Sortie C un ensemble de cha nes chaque cha ne tant une suite d ar tes 1 E l ensemble actif des ar tes du graphe de vue 2 C 0 3 pour Es 4 E Es 5 si I E est vrai ou E d j dans une cha ne 6 continuer 7 c une cha ne 8 co 9 r p ter 10 ce cE 11 E suivant E 12 jusqu ce que I E soit vrai 13 C CU c 14 Algorithme 5 3 Op rateur de chainage bidirectionnel Fonction BidirectionalChain Entr e suivant precedent deux fonctions d it ration sur les ar tes du graphe de vue II un pr dicat unaire d arr t op rant sur des l ments 1 dimensionnels un ensemble d ar tes du graphe de vue Sortie C un ensemble de chaines chaque chaine tant une suite d ar tes 1 l ensemble actif des ar tes du graphe de vue 2 C 0 3 pour EgE E 4 E Es 5 si II E est vrai ou E d j dans une cha ne 6 continuer 7 c une cha ne 8 co 9 r p ter 10 cock 11 E suivant E 12 jusqu ce que I E soit vrai 13 E precedent Es 14 tant que II est faux 15 co E c 16 E precedent E 17 C CU c 18 126 5 2 4 Raffinement de la topologie
301. r les coordonn es 3D pour modifier la repr sentation d une zone de l espace dans la sc ne Sur l illustration de la figure 3 12 par exemple les traits ont t omis dans la r gion 3D regroupant le bas des immeubles de mani re renforcer l impression de brouillard FIG 3 12 Informations Coordonn es 3D Les traits correspondant repr sentant des l ments correspondant la r gion 3d regroupant le bas des immeubles de deuxi me plan ont t omis afin de donner l impression d un brouillard Bilal 1997 Hazard edizioni Bil97 Profondeur distance a l observateur La profondeur peut par exemple servir param trer un ou plusieurs attributs bas niveau de style En particulier il est courant de l utiliser pour param trer le poids des traits de mani re renforcer l impression de perspective La figure 3 12 a illustre cette technique Cette m me coordonn e de distance l observateur peut encore servir param trer des attributs haut niveau de style tels que l omission de lignes Il est en effet fr quent d omettre d autant plus de lignes que les objets repr sent s sont loign s de la cam ra comme illustr par la figure 3 13 b 3 3 Informations 69 STAN NO CHIU PENPO IL PORTELLO Fic 3 13 Informations Profondeur a Le poids des lignes est proportionel la profondeur Les lignes des premiers plans sont plus appuy es
302. r ne pas les inclure dans les ar tes secondaires de la cha ne il faut que tous les l ments soient pass s par l tage de s lection avant de poursuivre leur parcours c est dire que cet op rateur doit fonctionner selon le sch ma de synchronisation par op ration L op rateur de s lection tant la fois flottant et multiple on pourra en envisager une version synchronis e par l ment dans le sous pipeline final et d autres versions synchronis es par op rations plus en amont Op rateur de chainage Pour l op rateur de chainage les choses se compliquent En effet il est la cl de vo te du module de style et il est la fois unique et fixe Il semble raisonnable de vouloir ins rer cet op rateur dans le sous pipeline contenant l op rateur de dessin de mani re pouvoir prendre des d cisions de cha nage s appuyant sur les informations du dessin courant typiquement on pourrait vouloir stopper une cha ne une ar te si celle ci se situe dans une zone d j trop dense Le probl me qui se pose alors est qu en tant dans le dernier sous pipeline l op rateur de cha nage ne peut pr c der aucun op rateur fonctionnant selon un sch ma de synchronisation par op ration tel que le tri par exemple C est dire que les seuls l ments qui seraient alors susceptibles d tre tri s seraient les ar tes du graphe de vue ce qui repr sente une limitation s v re Les limitations r sultant de l absence
303. ractif Praun et al PHMF01 reste tr s naturel d y avoir recours dans un dessin En effet dans la nature nous percevons les formes par le biais de variations de texture et de ton et les limites des objets correspondent alors aux seuils de forts contrastes en couleur ou en intensit Ce sont ces limites qui sont habituellement repr sent es par les artistes K 84 De nombreuses recherches se sont pench es sur l identification math matique de ces lignes et on distingue aujourd hui quatre familles de lignes qui pour des raisons purement g om triques ou parce qu elles sont le seuil de ph nom nes lumineux sont enclines appara tre dans les dessins Les diff rents types de lignes caract ristiques Caract riser les lignes signifie identifier de mani re math matique les points d une sc ne 3D qui se projettent sur les lignes habituellement dessin es par un artiste On peut noter l incertitude inh rente cette d finition m me dans la mesure o des artistes diff rents ne tracent a priori pas exactement les m mes lignes Toutefois un certain nombre de ces lignes semblent appara tre dans la plupart des dessins et la question est alors de savoir si ces derni res r pondent des crit res notamment g om triques communs Aujourd hui l identification pr cise des lignes caract ristiques dessin es par les artistes reste un sujet ouvert S il est g n ralement admis que ces lignes correspondent des li
304. rait etc Abscisse curviligne L abscisse curviligne correspond la param trisation du trait On conna t donc exactement ses valeurs et une requ te 1D cette information n a pas de signification Longueur totale du trait On parle ici de longueur 2D dans la mesure o la longueur 3D d un trait n est pas n cessairement d finie dans le cas o l information de coordonn es 3D est discontinue sur ce trait Cette information est d finie pour un l ment 1D et non 0D et sa requ te est donc naturelle et ne fait pas l objet d une agr gation 1 L union de plusieurs valeurs identiques est r duite un seul l ment Ainsi dans le cas d une information constante par morceaux prenant la m me valeur sur deux ar tes l union renverra comme on est en droit de l attendre un unique l ment 2 L union n est pas d finie pour les l ments de R qui varient contin ment le long des ar tes En revanche pour les informations d finies dans R mais qui sont constantes par morceaux sur les points du graphe l union est bien d finie Lorsqu on rencontre un nombre fini n de mat riaux le long d un l ment 1D l union renverra la liste des n mat riaux 3 Pour les informations constantes par morceaux et d finies dans R et pas uniquement dans N la moyenne a un sens Par exemple si un l ment 1D est d une certaine couleur sur une premi re partie et d une autre couleur sur l autre il semble r
305. raits tant les seuls l ments pouvoir tre trait s par le shading ce dernier est un op rateur flottant mais contraint rester entre le cha nage et le dessin Optionalit La pr sence de certains op rateurs dans un module de style est obligatoire et peut donc servir de base structurante au pipeline Les deux seuls op rateurs obligatoires sont le chainage qui est n cessaire au passage des ar tes aux traits et l op rateur de dessin Des appels tous les autres op rateurs sont optionnels Unicit On dit d un op rateur qu il est unique s il ne peut appara tre qu une seule fois dans tout le pipeline dans le cas inverse l op rateur est multiple Les seuls op rateurs uniques sont le cha nage qui marque le passage d un ensemble actif d ar tes du graphe de vue un ensemble actif de traits pr venant du m me coup tout autre cha nage et l op rateur de dessin 5 3 2 Synchronisation des donn es Nous nous int ressons maintenant au type de synchronisation employer pour la circula tion des donn es c est dire des ar tes du graphe de vue des traits etc dans le pipeline Comme nous allons le voir cette synchronisation d cide galement en partie du placement des op rateurs dans le pipeline Supposons que l on travaille avec quatre op rateurs O1 O2 O3 et O4 et que ces op rateurs puissent tre appel s s quentiellement dans cet ordre c est dire que les sorties de O cor responde
306. re qui permettrait l utilisateur de sp cifier dans quel mode de synchronisation il se place avant une s rie d appels aux op rateurs L inconv nient de cette approche est qu elle ne facilite pas la prise en main du syst me pour deux rai sons premi rement elle suppose de la part de l utilisateur une bonne compr hension de m canismes de bas niveau alors m me qu en n exposant pas explicitement la liste des l ments manipul s un instant donn on tente de masquer de tels m canismes et deuxi mement elle repr sente une source d erreurs importante dans le processus de programmation de style 147 FIG 5 16 Shader de lissage Les lignes caract ristiques d un mod le sans lissage a et avec lissage b Nous avons opt pour une autre solution qui consiste encapsuler l ensemble du sous pipeline final qui contient l op rateur de dessin et est synchronis par l ments dans un op rateur unique l op rateur cr ation L op rateur cr ation Avec cette mise en uvre la liste des op rateurs fournie dans notre impl mentation diff re donc l g rement de celle pr sent e dans la section pr c dente Dans la suite de cette section nous nous attachons donc d crire cet op rateur L impl mentation du premier sous pipeline d op rateurs est quant elle directe Principe L op rateur de cr ation fonctionne sur le mode de synchronisation par l ments et combine tr
307. re un rendu int ressant mais avec un contr le trop faible sur la r gularit de l paisseur des lignes FIG 2 11 Rendu direct de silhouettes utilisation d une texture d environnement On utilise une texture d environnement color e avec des contours noirs pour calculer la couleur de chaque point du mod le Cette technique permet d obtenir des zones ombr es aux silhouettes Son inconv nient r side dans l irr gularit des silhouettes ainsi obtenues Gooch et al GSGT 99 D une mani re g n rale ces m thodes sont limit es quant au style qu il est possible d appli quer aux lignes En effet comme nous l avons mentionn la g om trie des traits n est jamais explicitement manipul e par le programme et ceux ci ne peuvent donc pas tre alt r s dans un objectif de stylisation Pour cette raison les applications destin es afficher les lignes de mani re stylis e utilisent une approche analytique dans laquelle le calcul des lignes est expli citement r alis dans le programme et qui offre ainsi un meilleur contr le au programmeur Jusqu r cemment le principal int r t des approches directes r sidaient dans l utilisation de la carte graphique qui permettait un affichage interactif des silhouettes Aujourd hui les cartes graphiques programmables permettent de d porter un calcul analytique des silhouettes ou d autres lignes d ailleurs du processeur central CPU vers le processeur graphiq
308. reinage disques ont t omises de mani re afficher enti rement ce syst me ITEDO www itedo com Mat riau Comme on l a vu dans la section 3 1 l paisseur ou la couleur des traits peuvent tre li es au mat riau des objets qu ils d limitent cf figures 3 3 et 3 4 Identit des objets Il est galement courant de tracer les lignes d un premier objet dans un certain style et celles d un autre objet dans un style diff rent de mani re mettre en valeur un objet dans le dessin par exemple L information qui est alors notamment utilis e est l identit des objets La figure 3 24 montre une illustration sur laquelle deux objets diff rents ont t dessin s dans deux styles diff rents afin de mieux les distinguer Densit de la vue et du dessin Comme on l a vu avec la figure 3 6 la simplification d un dessin peut tre li e une information de densit Lorsque la complexit de la sc ne repr senter augmente l artiste pourra omettre des lignes de mani re conserver un dessin de densit raisonnable Ainsi les d cisions d omission de lignes dans une optique de simplification peuvent tre li es la fois la complexit de la sc ne repr senter et la densit des traits d j trac s sur le dessin 3 3 Informations 77 FIG 3 24 Informations identit des objets Dans cette illustration technique deux styles
309. relier ce choix d amplitude de variations au mat riau celle ci tant par exemple d autant plus importante que le mat riau est rugueux Le peudo algorithme d crivant ce style est alors pour chaque ligne l dessiner obj objet l on r cup re l objet auquel l appartient mat materiau obj on r cup re le mat riau de cet objet r lt rugosit mat et la rugosit de ce mat riau si r gt seuil dessiner l avec d importantes variations d paisseur sinon dessiner l avec de faibles variations d paisseur 60 chapitre 3 Mod lisation de style Pour ces deux styles on a mis en relation les attributs respectifs de couleur et d paisseur avec Vinformation de mat riau A nouveau ces deux descriptions de style sont g n riques dans la mesure o l information de mat riau est elle m me g n rique On peut donc imaginer de transposer ces styles n importe quelle autre sc ne B L paisseur des lignes est li e la discontinuit en profondeur FIG 3 5 Epaisseur des lignes li e la discontinuit de profondeur a Dans cette illustration les lignes de silhouette marquant de fortes discontinuit s de profondeur sont trac es avec un poids plus important b gros plan sur un l ment dont la silhouette marque une forte discontinuit en profondeur c dans ce d tail la silhouette de la colonne ne correspond pas une forte discontinuit en prof
310. res termes r guli rement utilis s dans cette th se se trouvent dans la section 1 5 du chapitre 1 2 Remarque Dans la plupart des cas les silhouettes forment sur la surface des boucles 1D ferm es Ce n est plus le cas d s qu une surface plane est tangente au point de vue Dans ce cas on a toute une r gion 2D pour laquelle en chaque point P V N 0 FIG 2 7 Natures des lignes contour et silhouette a Les lignes caract ristiques de cette sc ne gauche sont constitu es des ar tes vives droite en haut et des silhouettes droite en bas Sur une autre sc ne les lignes de silhouette b et les lignes de contours c Les cr tes et les vall es Les cr tes et les vall es sont d finies de mani re purement g om trique ind pendamment du point de vue Elles correspondent aux points o les cour bures principales passent par un extremum en suivant leur ligne de courbure Pour les cr tes les courbures sont positives et passent par un maximum pour les vall es elles sont n gatives et passent par un minimum La figure 2 8 a montre un exemple de telles lignes Courbures principales Consid rons un point P sur une surface S Soit N la normale aS en P et t un vecteur d fini dans le plan tangent S en P La valeur de la courbure de S en P dans la direction t est gale celle de la courbe d finie comme l intersection entre S et le
311. riented Software Professional Computing Series Addison Wesley New York NY 1995 Andrew S Glassner Maintaining winged edge models In Graphics Gems I pages 191 201 Morgan Kaufman Publishers Inc 1991 Ernst Hans Gombrich The Story of Art L histoire de l art Phaidon Press 1995 16th edition B Gooch P Sloan A Gooch P Shirley and R Riesenfeld Interactive Tech nical Illustration ACM Symp on Interactive 9D Graphics 1999 P Haeberli Paint by numbers Abstract image representations Proce SIG GRAPH 1990 A Hertzmann Painterly rendering with curved brush strokes of multiple sizes Proc SIGGRAPH 1998 Hertzmann Paint by relaxation In CGI pages 47 54 2001 Aaron Hertzmann Machine learning for computer graphics A manifesto and a tutorial In Invited paper Pacific Graphics 2003 Nick Halper Tobias Isenberg Felix Ritter Bert Freudenberg Oscar Meruvia Stefan Schlechtweg and Thomas Strothotte Opennpar A system for develo ping programming and designing non photorealistic animation and rendering In Pacific Conference on Computer Graphics and Applications pages 424 428 20083 Hertzmann C Jacobs N Oliver B Curless and D Salesin Image analogies Proc SIGGRAPH 2001 Pat Hanrahan and Jim Lawson A language for shading and lighting calcula tions In Proc SIGGRAPH 1990 Siu Chi Hsu and Irene H H Lee Drawing and animation using skeletal strokes Proc SIGGRAPH 94 1994
312. rmation d invisibilit quan titative sera constante sur chacune de ces ar tes Elle est calcul e pour chacun des segments par lancer de rayons on compte le nombre de surfaces intersect es par le rayon et qui se trouvent entre le point de vue et le segment En raison des nombreuses erreurs num riques constat es sur ce type de calcul lorsqu une ar te du graphe de vue est constitu e de plusieurs sous ar tes issues du maillage l invisibilit quantitative est calcul e pour chaque sous ar te et le r sultat est obtenu par vote La liste des surfaces intersect es par le rayon lors de ce calcul est stock e afin de construire l information des objets occultants Le rayon utilis pour calculer Vinvisibilit quantitative est galement prolong au del du segment consid r de mani re calculer et stocker la liste des surfaces cach es L information de discontinuit en profondeur d coule galement de ce dernier calcul Le calcul de ces informations par lancer de rayons est l tape la plus co teuse du syst me Sa complexit varie bien videmment significativement avec la mani re dont les objets de la sc ne sont dispos s cf figure 4 10 Pour disposer d un ordre d id e pour le mod le du compresseur que l on peut voir sur la figure 7 10 page 197 et qui compte peu pr s 45 000 triangles il faut environ 15 secondes sur un Pentium 4 1 3 GHz pour mener ces calculs En sachant que
313. rocessus de dessin doit tre d compos en un ensemble d op rations l mentaires qui constitueront une interface de programmation pour la description de style Finalement il est indispensable pour mener a bien ces tapes de comprendre le processus de dessin et plus particuli rement le concept de style Ainsi une formalisation du style constitue un pr requis cette approche Contributions Notre contribution g n rale est de proposer une approche programmable pour la mod lisation de style dans le rendu non photor aliste de dessins au trait Plus pr cis ment nos contributions portent sur la validation du postulat selon lequel le style d un dessin d pend des informations conte nues dans la sc ne l ajout d attributs de style essentiels la base commun ment utilis e en NPR l identification d un ensemble d informations utiles pour la mod lisation de style la sp cification de mesures de la densit de lignes permettant d laborer des strat gies complexes de simplification automatique de dessin au trait une formalisation du processus de dessin et de mise en style sous la forme d un pipeline d op rations d di es la description de style 10 1 4 Organisation du document Le prochain chapitre passe en revue un certain nombre de travaux pr sentant le domaine de recherche du NPR et plus particuli rement ceux traitant du style Dans le chapitre 3 nous
314. rtie variable quand elle existe est group e en un ensemble de r gles Ce sont ces r gles que devra programmer l utilisateur et qui fixeront le comportement de l op rateur La figure 5 3 illustre la d finition des r gles de style et leur utilisation Operatorl reglel def Operatorl Operator2 regle2 regle2 def Operator2 Operator3 regle3 regle3 Module de style R gles de style D finition des op rateurs a b c FIG 5 3 Programmabilit des op rateurs les r gles de style Un module de style a est constitu d appels aux op rateurs de description de style Chaque op rateur est programmable une partie de sa d finition cadres rouges sur la figure c est externalis e sous forme de r gles b dont Vimpl mentation est laiss e l utilisateur Les parties crites par l utilisateur sont entour es en orange Remarque En plus d pargner l utilisateur un travail de code important le choix de pro grammer les op rateurs au travers de r gles de style a l avantage de permettre une meilleure factorisation et donc une meilleure r utilisation des composants d velopp s Toutefois dans le cas d op rateurs complexes l inconv nient de cette approche est que le nombre de r gles programmer peut tre relativement important rendant le travail quelque peu fastidieux Dans la suite on se pose la question de savoir quelles sp cifications adopter pour ces diff rents op rateurs
315. rts et leurs points faibles ainsi que les similarit s et les diff rences avec notre approche 2 1 Contexte g n ral B Le NPR est vaste et englobe m me le rendu photor aliste La multitude de techniques et de styles qui existent en art pictural font du NPR un do maine de recherche aussi vaste que vari En effet comme nous l avons soulign dans le chapitre pr c dent par opposition la photographie l extr me libert qu offre le dessin dans la repr sentation se traduit en une tr s grande vari t d aspects incluant notamment las pect photor aliste Pour inclure le NPR dans la synth se d images il est donc n cessaire d tendre les techniques de cette derni re la projection perspective comme syst me spa tial ou l utilisation du point comme syst me de marques qui sont caract ristiques du rendu photor aliste peuvent tre vus comme des cas particuliers des quatre syst mes g n raux in troduits par Willats et Durand WD05 Dur02a Wil97a Le NPR d fini tort comme l oppos du rendu photor aliste est en r alit un domaine de recherche plus vaste qui inclut m me le photor alisme Toutefois depuis sa cr ation le NPR s est principalement concentr sur le d veloppement de techniques de rendu permettant de produire des images imitant l aspect de dessins ou de peintures faites la main Ainsi les articles qui y sont cat goris s peuvent par exemple traiter de la simulation du trac d u
316. s bande de triangles Sur cette illustration on voit la bande de triangles construite pour un trait donn dont l pine dorsale est trac e en noir C est cette bande qui est rendue l aide de l APT OpenGL dans le dessin Des techniques tablies permettent d viter les singularit s aux points de haute courbure e g chapitre 3 et HL94 Nous utilisons des textures de traits r els comme des cartes de transparence alpha maps pour am liorer la qualit visuelle cf figure 3 7 page 63 Cette technique nous permet d im primer nos traits l apparence du trait r el tout en conservant le contr le des attributs tels que la couleur et l paisseur L utilisation des textures nous permet galement d imiter les interactions entre le medium et le support sans avoir recours une simulation physique qui emp cherait un affichage interactif Nous utilisons les modes de m lange blending modes d OpenGL pour muler diff rents types de m diums physiques En pratique nous rendons l inverse de l image pour laquelle un support blanc correspond la couleur RGB 0 0 0 Ceci nous permet en particulier de simuler la nature soustractive de la plupart des m dia Pour les m dia pais tels que la peinture l huile nous utilisons un simple mode de remplacement cf figure 5 21 a Le m lange additif qui devient soustractif dans notre contexte inverse est bien adapt pour les mat riaux humi
317. s nous nous concentrons sur les dessins de lignes c est dire que les compo santes li es au remplissage de r gions 2D que ce soit par colorisation a ou hachurage b ne sont pas prises en compte B Le style est r duit aux seuls syst mes de primitives et d attributs Nous restreignons galement l espace des styles couvert par notre approche En nous r f rant la classification introduite section 1 2 nous ne donnons de contr le que sur deux des quatre syst mes impliqu s dans la repr sentation graphique les syst mes de primitives et d attributs La mise en uvre du syst me de primitives en particulier nous semble tre une composante complexe et importante du style qui a jusqu ici t trop souvent n glig e Nous conservons comme syst me spatial la projection perspective commun ment utilis e en synth se d images interdisant ainsi par exemple la g n ration d images cubistes partir de sc nes 3D g om triquement r alistes Toute stylisation li e au syst me spatial devra avoir t pr alablement int gr e la mod lisation pour pouvoir exister dans le rendu Le contr le sur le syst me de marques est quant lui r duit son strict minimum chargement de textures et ne fait pas l objet d une tude dans ce document Offrir un contr le flexible sur ces deux syst mes ouvrirait des perspectives artistiques excitantes et constitue galement un axe de recherche tr s int ressant que
318. s tout en les conservant dans le contexte de l assemblage complet FIG 7 9 Style illustration technique On utilise dans cette illustration l information des objets occultants pour mettre en valeur un sous ensemble d objets d une locomotive d poque le mod le 8D est montr en haut gauche Les lignes n appartenant pas ce sous ensemble sont trac es en gris clair et de mani re approximative afin de ne pas focaliser l attention Pour le sous ensemble des objets importants les lignes sont enti rement dessin es y compris les parties cach es par des objets n appartenant pas ce sous ensemble qui sont trac es en pointill Style incluant de la simplification La simplification et l abstraction restent ce jour l apanage de l humain et contribuent donner une image l apparence d un dessin fait la main Ainsi dans la repr sentation d un objet complexe tel que celui montr sur la figure 7 10 a il est probable que beaucoup d artistes omettent un certain nombre de lignes pour am liorer la lisibilit du r sultat De mani re similaire la figure 6 11 page 170 on utilise donc la densit causale pour simplifier la grille qui masque le compresseur chaque barreau est trac avec un seul trait et la moiti des barreaux est uniform ment supprim e La figure 7 10 b montre le r sultat d une telle op ration On voit alors le probl me entr
319. s au couplage de ces deux langages Python gt Interpr teur de style Graphe de vue Application h te Traits Image finale FIG 5 12 Impl mentation du syst me On distingue d un c t l application h te qui se charge de calculer le graphe de vue partir de la 3D et d afficher les traits et de l autre l interpr teur de style qui cr e les traits partir de la description Python du style L application h te et la description de style d appuient sur la m me sp cification d interface e g ensemble des op rateurs mais en utilisent respectivement une mise en uvre en C et en Python L utilisation de deux langages diff rents n est possible que s il existe une interface suff samment volu e permettant de passer des objets voire des mod les de classes par exemple de chaque environnement vers l autre Si L et L d signent les langages objets utilis s respectivement pour le d veloppement de l application et d un module de style les contraintes minimales sont les suivantes Instanciation et utilisation dans L d objets d finis dans L Les structures de donn es d finies dans L doivent pouvoir tre instanci es et manipul es dans L Par exemple les functors d acc s aux informations sont d finis en C et doivent pouvoir tre ins tanci s en Python Cela implique que tous les m canismes d h ritage ou de surcharge d op rateurs existant dans L soien
320. s cha nes des points qui ne correspondent pas n cessairement des sommets du graphe ou m me des sommets des ar tes caract ristiques initiales Pour cette raison le syst me doit travailler sur une version chantillon e de la courbe l chantillonnage tant sp cifi par l utilisateur dans notre impl mentation des sommets temporaires correspondant cet chantillonnage sont cr s au fur et mesure que la cha ne est travers e mais ils ne sont pas stock s de mani re permanente cf section 4 3 D coupage s quentiel Dans sa version de base il parcourt le trait et value une condition de coupure en chaque point pour d cider o couper Un nouveau trait commence chaque point de coupure Afin d introduire plus de flexibilit dans le choix des extr mit s des traits on raffine la strat gie de d coupage en d couplant les conditions de coupure pour le d but et la fin du trait et en valuant chacune d elles dans un parcours diff rent les deux parcours s effectuant en parall le Ce processus peut produire un ensemble de traits qui forment une partition du trait initial lorsque les conditions de d but et de fin de trait sont les m mes un ensemble de traits se recouvrant partiellement ou un ensemble de traits isol s Ainsi d fini cet op rateur permet notamment de g n rer des dessins dans un style esquiss sketchy en choisissant une configuration pour laquelle les traits se recouvr
321. s comme un chemin dans le graphe planaire des lignes il faut donc galement subdiviser les lignes aux endroits o elles s intersectent entre elles Avec la combinaison de ces deux d coupages on obtient un ensemble de lignes sur lesquelles la fonction d information est continue et qui refl te l arrangement 2D des projections de ces lignes Finalement une fois un partitionnement efficace en ar tes d termin il reste encore d cider de quelle structure utiliser pour parcourir ces ar tes On structure ces courbes sous forme d un graphe Nous avons mentionn dans la section 3 2 2 que la topologie des traits tait une composante essentielle du trait En particulier il n y a pas de bijection entre l ensemble des courbes pr c demment d fini et l ensemble des traits un trait peut tre support par plusieurs ligne et une ligne peut tre dessin e l aide de plusieurs traits Afin de d finir la topologie des traits il est donc n cessaire de disposer d une structure de connectivit permettant le parcours des courbes connect es entre elles e g une structure de graphe Nous avons par ailleurs vu dans cette m me section 3 2 2 que la d finition de la topologie des traits s appuyait non seulement sur celle des objets repr sent s mais plus g n ralement sur l aspect PD90b de la sc ne sous le point de vue consid r Notre structure de graphe devra donc galement refl ter la projection planaire de la
322. s de P qui sont des extr mit s des C et points de discontinuit pour 7 Veont P U Ei Ei cEcont Si chaque fonction d information Zg d finie par est continue par morceaux alors Z l est aussi et par d finition Veont est un ensemble discret D coupage induit par l arrangement planaire des lignes Pour respecter la deuxi me contrainte les lignes C dont les projections s intersectent dans le plan doivent tre subdi vis es si C et C sont telles que leurs projections L et L s intersectent en P alors Cj est d coup e au point qui correspond la projection inverse de P sur Cj et de m me Cj est d coup e au point Qj qui correspond la projection inverse de P sur C On appelle Einter l ensemble des courbes issues de cette subdivision Si P est la projection de l espace 3D vers l image alors on peut crire Einter ainsi E ouvert et connexe Einter E 3C Ei CC et Vj fi P Ei N P C E maximal On notera Vinter l ensemble des points de P qui se projettent sur des intersections Vinter P U Ei Ei EEinter 4 2 Structuration des lignes et des informations le graphe de vue 91 D coupage issu de la combinaison des deux contraintes Finalement les lignes ca ract ristiques sont d coup es de mani re int grer l ensemble des points d finis par chacun des deux d coupages pr sent s juste au dessus Ainsi l ensemble des lignes issues de ce d coupa
323. s directions dominent isotropique sinon Le degr d isotropie peut tre caract ris en tudiant doo p u une chelle og et pour un point Po donn Sur la figure 6 6 on montre comment le profil de la fonction d P varie en fonction de l arrangement des lignes avoisinantes permettant ainsi de d terminer si une densit est isotropique ou anisotropique En particulier nous mettons en vidence les diff rences entre deux profils anisotropiques mesur s pour des pixels du toit et les mettons en opposition avec un profil isotropique observ pour un pixel de l arbre chelle Lorsqu on travaille avec des structures r p titives il est souvent important de caract riser l chelle du motif constituant cette structure C est galement crucial dans notre cas parce que les lignes sont des Diracs et que l chelle laquelle la densit est valu e peut avoir une forte influence sur le r sultat la plus petite chelle l image est une fonction binaire qui indique la pr sence de lignes Nous montrons qu une analyse fine de l chelle peut tre men e de mani re permettre une s lection p cise des lignes omettre On peut par exemple dessiner un toit avec une tuile sur deux ou avec quelques groupes de n tuiles Pour cel il est essentiel de poss der une approche syst matique pour extraire l chelle caract ristique de mani re rendre le crit re de simplification ind pendant de la sc ne
324. s int rieures Ce troisi me et dernier module de style s appuie surtout sur l op rateur de s lection pour d finir des traits correspondant aux lignes de la sc ne qui sont visibles et qui n appartiennent pas au contour ext rieur cf figure 7 4 On utilise notamment un shader permettant d affecter aux traits une paisseur variant de mani re non lin aire FIG 7 4 Troisi me module de style lignes visibles internes Corps du module de style PR APR LR AL TA LR OT EA APTA LA AL ETAT 188 chapitre 7 R sultats HH Module de style Be LADA ITAA IT PARA SEL AAA AT EET A AL LA AAA LATE On instancie un predicat permettant de tester si un element 1D est visible et n appartient pas au contour exterieur predicatelD AndUPIiD QuantitativelnvisibilityUP1D 0 NotUP1D ExternalContourUP1D Selectionne les aretes qui sont visibles et non exterieures Operators select predicatelD Chaine a l aide de l iterateur de chainage standard Par defaut le chainage reste dans la selection Operators bidirectionalChain ChainSilhouettelIterator NotUP1D predicatelD Liste des shaders shaders_list ConstantColorShader 0 2 0 2 0 2 4 Affecte une couleur constante Affecte une epaisseur variant de maniere non lineaire pyNonLinearVaryingThicknessShader 2 epaisseur minimum 10 HH epaisseur maximum 0 33 exposant Cree les traits Operators create
325. s la mesure o il implique l existence d objets d paisseur nulle On le retrouve cependant souvent en informatique graphique o des surfaces ouvertes sont souvent utilis es pour mod liser des objets de fine paisseur e g une feuille de papier D une certaine mani re ces ar tes sont un cas particulier d ar tes de silhouette puisqu elles correspondent un changement infiniment rapide d orentation de la surface par rapport au point de vue et doivent tre affich es Pour les d tecter il suffit de parcourir l ensemble des ar tes du maillage et de rep rer celles qui ne sont bord es que par une seule face Algorithme 2 2 D tection des ar tes de bords Fonction DetectBorders Entr e L ensemble A des ar tes du maillage Sortie Le sous ensemble B de correspondant aux ar tes de bord 1 pour a A 2 si le nombre de faces adjacentes a est gal 1 3 alors a B Remarque Les surfaces comportant des ar tes de bord ne sont pas des vari t s Les techniques de d tection de lignes ainsi que les structures associ es e g Winged Edge peuvent cependant tre facilement adapt es pour les prendre en compte Dans la suite les surfaces consid r es sont donc des vari t s ou des surfaces comportant des bords i e les repr sentations polygonales associ es poss dent donc des ar tes ayant une ou deux faces adjacentes 30 Lignes de silhouette Nous avons vu pr c demment cf sous
326. s les silhouettes et les ar tes vives peuvent cohabiter sur une m me ligne caract ristique C Dans ce cas la seule configuration possible pouvant engendrer une discontinuit de l information de nature est qu une ligne soit uniquement ar te vive sur une partie et la fois ar te vive et silhouette sur l autre partie Cette configuration correspond une ligne de cr te qui partir d un point donn int gre la silhouette En pratique une ar te vive peut devenir une silhouette si et seulement si elle intersecte sur la surface une autre ligne de silhouette Dans la mesure o ce type de croisements a d j donn lieu des sommets parmi les extr mit s des C aucun sommet n est cr par cette information Invisibilit quantitative N C est l information qui est l origine du plus grand nombre de discontinuit s de Z On consid re une courbe C de C et sa projection L dans le plan Trois types d v nements peuvent provoquer un changement d invisibilit quantitative sur Li et donc l introduction d un sommet dans le graphe de vue A B FIG 4 3 Sommets du graphe de vue discontinuit de nature Sur cette illustration l ar te marquant le couvercle du cylindre est uniquement ar te vive sur la partie 1 trac e en gris clair et la fois ar te vive et silhouette sur la partie 2 On a donc ins r 2 sommets pour le graphe de vue aux points A et B marquant la discontinuit
327. s lignes apparte nant des larges r gions de haute densit au travers de requ tes dans la carte a directionnelle de densit a priori La suite est identique pour les illustrations de la maison et de l arbre Les lignes sont soumises la densit causale avec un seuil d omission proportionnel la valeur du gradient calcul sur la carte a directionnelle de densit a priori une chelle rela tivement petite Ainsi les lignes sont gard es de pr f rence dans les r gions de fort gradient c est dire proches des bords des r gions de haute densit La figure 6 14 montre la carte de densit a priori qui a t utilis e pour produire l illustration de la maison et l image de gradient correspondante 6 6 Applications et r sultats 171 FIG 6 12 Utilisation du profil directionnel de la densit a priori On utilise ici le profil directionnel de la densit a priori pour simplifier l encombrement du des lignes presque parall les En haut gauche toutes les lignes visibles En haut droite rendu final En bas gauche longues lignes haute densit anisotropique En bas au centre lignes courtes ou lig
328. s lignes caract ristiques celle ci produit un ensemble de segments 3D dont la taille est du m me ordre de grandeur que celle de l ensemble des ar tes du maillage La figure 2 20 montre les segments de silhouette obtenus sur un tore par la m thode de Hertzmann et Zorin HZ00 Une fois la visibilit prise en compte on est donc capable de produire un dessin en affichant la projection des ar tes a l aide de traits monochromes d paisseur constante FIG 2 20 Segments de silhouette Sur cette figure on peut voir les segments de silhouette obtenus par la m thode de Hertzmann et Zorin sur chaque triangle du maillage par lequel passe la silhouette un segment approxime cette silhouette Ces segments doivent tre cha n s de mani re construire des traits plus longs plus conforme des traits dessin s par un artiste Toutefois un tel dessin ne sera pas satisfaisant En effet pour qu un rendu NPR puisse cr er de mani re plus convaincante l illusion d un dessin fait la main la couleur la texture et la g om trie des traits doivent pouvoir imiter les interactions de l outil e g pinceau et du medium e g huile sur le support e g toile ainsi que le trac lisse ou irr gulier de l artiste On s int resse dans cette section ce dernier point qui concerne la d finition de la topologie des traits On commence par d finir un trait comme la marque laiss e par l outil au cours d un
329. s occultants N L information donnant la liste des objets occultants change sur une courbe C lorsque sa projection L intersecte la projection d une ligne de silhouette ou de bord qui est galement un contour et qui est plus proche du point de vue que C Ces sommets font galement partie des sommets issus des intersections de lignes dans le plan Surfaces cach es N On observe un changement dans la liste des surfaces cach es par une courbe C si et seulement si sa projection L dans le plan image intersecte la projection d une ligne de silhouette ou de bord qui est galement un contour et qui se trouve plus loin du point de vue que C Le sommet correspondant est galement une intersection en T et 94 chapitre 4 Informations utiles aux d cisions stylistiques structuration et acc s est donc inclus dans l ensemble des sommets issus des intersections de lignes dans le plan La figure 4 4 illustre ces points de discontinuit s Discontinuit en profondeur R Cette information pr sente une discontinuit le long d une ligne de silhouette ou de bord C si et seulement si sa projection L intersecte la projection d une autre ligne de silhouette ou de bord cette derni re se trouvant directe ment derri re C en suivant le rayon de vue La figure 4 4 c montre des sommets cr s en des points de discontinuit de l information de discontinuit en profondeur Ces sommets sont des jonctions en
330. s pour les segments de lignes visibles et gris pour les segments de lignes cach s avec le d coupage actuel une m me ligne caract ristique peut la fois comporter des parties visibles et des parties invisibles intuitivement il semble plus appropri de disposer d un d coupage plus fin des lignes prenant en compte ce type d informations de mani re pouvoir facilement s lectionner les lignes correspondant un ensemble donn de crit res B On adopte le d coupage induit par la continuit par morceaux de la fonction d in formation et par l arrangement planaire des lignes En pratique cf section 4 2 3 la fonction d information Z qui tout point d une des lignes C associe le vecteur d informations associ est continue par morceaux sur l ensemble des C et nous avons choisi de respecter le d coupage induit par son domaine de d finition pour partitionner l ensemble constitu par les points caract ristiques on divise le support cr par l ensemble des points caract ristiques en courbes sur lesquelles la fonction d information Z est continue Nous avons ainsi le d coupage qui est la fois la plus compacte et la plus flexible vis vis de la continuit C des informations 4 2 Structuration des lignes et des informations le graphe de vue 89 En outre comme nous le verrons dans le prochain chapitre les traits qui sont les l ments dessin s dans l image finale sont d fini
331. s tels que les feuilles par des primitives plus simples De plus un seuil sur le Z Buffer leur permet de ne rendre que les ar tes marquant une forte discontinuit en profondeur Cette approche permet une simplification puissante mais est fortement sp cialis e dans la mesure o elle s appuie sur la repr sentation hi rarchique de la v g tation Le travail le plus proche du notre est celui de Wilson et al WM04 Ils utilisent l omis sion de lignes pour repr senter des sc nes complexes de mani re plus l g re Comme nous ils utilisent une estimation de la densit potentielle du dessin et s appuient sur l ordonnan cement des traits pour diriger l omission des lignes Nous introduisons une information de densit ainsi qu une analyse de la structure locale plus labor es et montrons comment la combinaison des densit s causales et a priori fournit un contr le complet sur la simplification 2 Viia d ancamhla da l Aannrnrha 7 0 0 VUE Q ETISETTIDIE UE UPHTOCTIE FIG 6 2 Simplification de dessins au trait travaux ant rieurs Deux dessins au trait simplifi s obtenus partir de mod les 8D d arbres a Deussen et al simplifie directement le mod le 3D de mani re r duire le nombre de primitives dessiner Deussen et al DS00 b Wilson et al utilisent l omission de lignes pour simplifier le dessin Wilson et al WM04 L 6 3 Vue d ensemble de l approche Notre approch
332. s tout au moins que tout style s appuyant sur l ensemble des informations consid r peut tre d crit avec ces op rateurs Finalement une certitude est qu il est possible de g n rer une grande vari t de styles avec cette approche Concernant l organisation en pipeline et les modes de synchronisation nous avons vu la section 5 4 4 qu une organisation plus flexible de la s quence d op rateurs pouvait tre imagin e Choix des l ments programmables Enfin la derni re d cision de bas niveau concerne le choix des l ments du pipeline dont la programmation doit tre confi e l utilisateur De ce choix d coulent la flexibilit du syst me ainsi que l apport qu il repr sente dans le travail de mod lisation de style En effet en n exposant que peu d l ments la programma tion la charge de demand e l utilisateur est plus faible mais le syst me en devient galement moins flexible Par contraste si trop d l ments sont laiss s la charge de l utilisateur la fa cilit de d veloppement de style s en trouve r duite et l int r t du syst me en est amoindri chaque niveau du processus de dessin nous avons donc t ch d isoler les l ments pour lesquels seul l utilisateur pouvait prendre une d cision En pratique on trouve des l ments programmables dans la requ te d informations et dans les op rateurs Concernant la requ te d informations le syst me
333. sateur qui permettent de contr ler le comportement de chaque op rateur Nous parcourons dans cette section les diff rents types de r gles et expliquons pour chacun d eux sur quel mod le il est impl ment Nous citons galement chaque fois quelques unes des r gles standard fournies par le syst me Pr dicats Les pr dicats sont impl ment s par des functors dont le type de retour est un bool en Les types de base des pr dicats sont d finis en C Trois types de pr dicats peuvent tre manipul s dans un module de style Les pr dicats unaires OD qui prennent un seul argument de type point it rateur sur point en pratique cf section 4 5 Nous adoptons dans notre librairie la convention qui consiste suffixer les noms de ces pr dicats par UPOD pour Unary Predicate OD Les pr dicats unaires 1D qui prennent un seul argument de type ar te du graphe de vue ou trait Ils sont suffix s par UP1D pour Unary Predicate 1D Les pr dicats binaires 1D qui prennent deux arguments de type ar te du graphe de vue ou trait Ces pr dicats d finissent souvent des fonctions de comparaison entre les deux l ments pass s en argument L algorithme de tri par exemple utilise ce type de r gle pour ordonner la s quence d l ments Le suffixe de ces pr dicats est BP1D pour Binary Predicate 1D 142 La plupart des fonctions d informations sont naturellement associ es des pr dicats
334. sc ne en particulier en connectant un m me sommet les courbes disjointes dans l espace mais s intersectant dans le plan image C est au travers des sommets et des ar tes de ce graphe le graphe de vue que l on acc dera l ensemble des informations d fini la section Remarque La d finition du graphe de vue s appuie sur les informations extraites de la sc ne mais pas sur celles extraites du dessin cf section 4 1 2 En effet c est partir des ar tes du graphe de vue que le dessin est form on ne peut donc pas les faire elles m mes d pendre de ce dernier Remarque En pratique certaines des informations sont co teuses calculer et pour cette raison ne sont pas utilis es dans la d finition du d coupage du graphe de vue la densit par exemple Toutefois comme nous le verrons dans le chapitre suivant il existe parmi les op rateurs utilisables au sein de la description de style un op rateur de d coupage qui permet de raffiner davantage la structure en fonction de combinaisons d informations par exemple au moment de la construction des traits Les informations les plus complexes sont ainsi calcul es la demande dans la sp cification de style Nous d finissons maintenant les ar tes et les sommets du graphe de vue dans le cas g n ral avant d en faire une caract risation plus concr te s appuyant sur les informations consid r es Cette caract risation con
335. se nous nous occupons des lignes appartenant des r gions denses isotropiquement aucune direction privil gi e dans l ensemble des lignes voisines et liminons celles appartenant aux r gions les plus denses grande chelle On peut remarquer que le dessin est simplifi avec succ s l image en bas droite montre toutes les lignes qui sont totalement omises tout en gardant une signification fid le Indication Comme nous avons pu le voir cette strat gie de simplification exploite la r p tition en sugg rant la complexit globale l aide de quelques parties d taill es bien positionn es 170 chapitre 6 Mesures de densit pour la simplification de dessins au trait FIG 6 11 Simplification uniforme d une grille L illustration simplifi e haut de la grille bas est obtenue en utilisant la densit causale Chaque barreau est dessin l aide d une seule ligne et exactement la moiti des barreaux a t limin e de mani re uniforme Les seuils d limination sont en outre d pendants de la direction afin d viter l omission syst matique des lignes horizontales dont la densit causale est plus haute Nous avons not que ces indications sont plus utiles aux bords des r gions denses et utilisons cette propri t pour produire les images simplifi es de la maison et de l arbre figure 6 13 Sur l illustration de la maison nous commen ons par s lectionner toutes le
336. sements aux tournants d un trait dont l chantillonnage est insuffisant FIG 2 26 Rendu de traits skeletal strokes L paisseur est augment e aux points marquant un angle important entre deux segments cons cutifs du trait de mani re conserver une paisseur constante Northrup et al NM00 R sum Le rendu des traits stylis s peut se faire soit par simulation physique soit par plaquage d une texture de trait r el sur une bande de triangles reproduisant les variations g om triques des traits construits 2 4 Contr le du style en rendu non photor aliste Avant de parler des travaux de recherches s int ressant au contr le du style dans le rendu non photor aliste nous listons bri vement les solutions commerciales d di es au rendu stylis dont nous avons pu avoir connaissance 2 4 1 Les solutions commerciales Le r cent engouement pour le NPR dans la communaut scientifique a tr s rapidement t suivi par l industrie Ainsi aujourd hui la plupart des grandes solutions de graphisme 3D int grent un composant plus ou moins d velopp de rendu NPR Le style de rendu NPR le plus populaire est de loin le Cartoon Shading Dec96b LMHBOO qui consiste en la combinaison du trac de lignes de mani re relativement uniforme et de la coloration des r gions l aide d plats de couleurs Plusieurs clips vid os e g Respire AC03b Yalil et Deux pieds ACO3a et au moins un lon
337. sont dessin s Les m canismes mis en jeu pour mettre en uvre un tel couplage sont discut s la section suivante L op rateur de dessin est donc initiateur du processus de rendu de chaque trait Les techniques utilis es pour ce rendu sont pr sent es la section 5 4 5 Entr es sorties Les entr es de cet op rateur sont des traits et la sortie est l affichage de ces traits Cet op rateur se branche directement sur le composant de rendu de marques en charge de l af fichage Ce composant de rendu peut ensuite g n rer n importe quel type de sortie allant d une criture dans le framebuffer une sortie textuelle C est donc cette base d op rateurs qui est mise la disposition de l utilisateur pour lui permettre de faire de la description de style Bien qu il soit difficile d valuer la qualit d une telle base le chapitre 8 propose une discussion autour du choix de ces op rateurs et s attache tout du moins poser les questions n cessaires R sum Nous avons identifi un ensemble d op rateurs permettant de formuler un style la s lection le chainage le d coupage le shading le dessin et le tri Chacun de ces op rateurs est contr l par des r gles dont la programmation revient l utilisateur 5 3 Pipeline d op rateurs Les op rateurs que nous venons de d finir seront appel s de mani re s quentielle par l utilisateur dans un module de style Certains de ces op
338. sont enrichis d attributs chaque point est associ un vecteur contenant des informations visuelles propos de ce point En pratique les attri buts standard sont l paisseur droite et gauche la couleur la transparence et la texture L utilisateur a la possibilit de rajouter n importe quel attribut de type R R R ou N Ainsi il est possible de tenir compte d attributs de style sp cialis s suppl mentaires en branchant le moteur de rendu ad quat en bout de cha ne Si d signe l espace des attributs un trait peut donc tre crit comme une application T 0 1 EUV xA t P a T tant telle que la projection P Img T de ses points dans le plan image soit connexe La figure 4 5 illustre un trait construit partir d un graphe de vue Nous verrons dans le prochain chapitre quels op rateurs permettent de passer des ar tes du graphe de vue aux traits Remarque Un trait ne correspond pas forc ment une ligne 3D c est dire un ensemble connexe de points 3D En effet un trait peut par exemple tre issu d un cha nage impliquant deux ar tes appartenant des objets diff rents mais dont les projections dans le plan image sont connexes La figure 4 6 illustre ce cas de figure Il est important de remarquer que la construction d un trait constitue un passage d une structure de graphe une structure 1 dimensionnelle donc plus contrainte spatialemen
339. ssentiel de trier les lignes avant d utiliser la densit causale a Toutes les lignes visibles b Utilisation de la densit causale pour l omission de lignes lorsque les lignes ont t tri es selon la discontinuit en profondeur et c sans ordonnancement 166 6 5 3 Omission de traits densit et r gularit Une large classe de strat gies de simplification est bas e sur l omission de lignes Cette technique peut tre impl ment e en utilisant la densit causale dans le cadre d une op ration de s lection pour laquelle la densit mesur e pour chaque trait est compar e avec un seuil 7 afin de d cider de dessiner ce trait ou non L algorithme na f correspondant est pour chaque trait t densit du dessin sous t l chelle o std lt T dessiner t Remarque En pratique ce test sera encapsul sous forme d un pr dicat qui sera pass comme argument a l op rateur de s lection Deux param tres contr lent cet algorithme l chelle et le seuil 7 Le dessin r sultant peut tre qualifi en deux termes la densit finale moyenne intuitivement le nombre de lignes dessin es et la r gularit de la distribution des lignes L objectif de la simplification est d obtenir une densit plus faible que celle initiale L en semble final des traits peut tre vu comme un sous ensemble des lignes initiales Comme avec n importe quelle approche d chantillonnage la notion de r gularit est i
340. stitue galement un guide pratique de construction du graphe 4 2 2 D finition du graphe de vue dans le cas g n ral Bien qu une description intuitive de la structure du graphe de vue puisse sembler suffisante il est en r alit indispensable d en donner une d finition math matique permettant de d finir pr cis ment les objets manipul s et d viter ainsi d ventuelles ambiguit s 90 Raffinement des lignes caract ristiques L tude du d coupage des lignes caract ristiques s articule autour de deux contraintes bien distinctes La premi re consiste subdiviser les lignes de mani re assurer la continuit de la fonction d information tandis que la deuxi me int gre les intersections entre les projections de ces lignes dans le plan image de fa on pouvoir prendre en compte chaque embranchement en 2D D coupage induit par la fonction d information Comme nous l avons expliqu pr c demment pour cette contrainte nous nous appuyons sur les discontinuit s de la fonction d information c est dire de Z pour assurer un d coupage pratique dans le contexte de la construction et de la stylisation de traits des lignes caract ristiques On d finit donc un ensemble de courbes Econt tel que chaque l ment provient du d coupage des C en morceaux sur lesquels Z est continue i ouvert et connexe Econt Ei AC Ei C Ci et Tir continue E maximal On appelle Veont l ensemble des point
341. stituent le processus de dessin revient ana lyser les op rations n cessaires la construction de traits partir des ar tes du graphe de vue Quels sont de mani re informelle les besoins pour une mener bien une telle construction B La liste des op rateurs d coule des besoins inh rents la mod lisation de style L objectif consiste simplement fournir une base d op rateurs qui permettent de contr ler tous les attributs de style nonc s section 3 2 aussi bien de bas que de haut niveau On veut premi rement pouvoir restreindre un sous ensemble d l ments ar tes ou traits les actions li es la mise en style Cette fonctionnalit est la base de la s paration d un style complexe en modules de style et donc de l attribut de style consistant utiliser plusieurs styles au sein d un m me dessin ainsi que de l omission de lignes Deuxi mement il faut disposer d op rateurs permettant de sp cifier la topologie d un trait partir d un ensemble d ar tes Cela signifie que l on doit tre capable de d crire dans le graphe de vue un chemin comme 5 2 Op rateurs de description de style 117 une suite d ar tes ainsi qu un point de d part et point d arr t La figure 5 2 a illustre un tel chemin Nous choisissons de mettre en uvre ce contr le de la topologie l aide de deux op rations distinctes La premi re est un cha nage qui permet de sp cifier un chemin sui
342. strations imitating drawings or paintings for instance from 3D scenes Abstraction or stylization enhance this type of rendering with communicative aesthetic and expressive qualities that distinguish it from usual image synthesis Our goals is to provide the user with a flexible control over the style of the non photorealistic rendering and also to propose a style formulation that allows the reuse of the same style to render different 3D scenes We chose a programmable approach that relies on the assumption that style attributes color thickness are chosen depending on generic information from the scene line cha rasteristics depth discontinuity and takes inspiration from procedural approaches such as Pixar Renderman The idea consists in expressing a style as a set of procedures specifying the relations between attributes and information The user programs a style sheet that can be used to render several different 3D scenes or several images from an animated sequence This approach is the first one to offer both flexible control over the style of the rendering and a reusable formulation of that style
343. strations techniques L emploi d un syst me tel que le n tre dans ce contexte permettrait d une part une automatisation plus importante de ces t ches et d autre part un acc s plus ais aux visualisations complexes utiles en illustration technique La figure 7 9 illustre par exemple ce type de contraintes sur un mod le de locomotive d poque pour lequel on veut visualiser pr cis ment un sous ensemble d l ments tout en le gardant dans le contexte de l assemblage complet C est en particulier l information des objets occultants qui est exploit e dans cette feuille de style Les modules de style utilis s peuvent tre r unis en trois groupes le premier trace les lignes n appartenant pas au sous ensemble mettre en valeur On choisit donc un style impr cis et discret pour tracer ces traits Le deuxi me trace les lignes de silhouette des objets importants les segments de ces traits qui sont cach s par d autres objets que ceux appartenant au sous ensemble d int r t sont trac s en pointill tandis que les segments visibles sont trac s en trait plein Le troisi me groupe applique un traitement similaire aux lignes d ar tes vives et les trace d une couleur diff rente de celle employ e pour les silhouettes de mani re respecter les conventions du 7 3 Images de styles 195 dessin technique Le style r sultant permet de visualiser clairement le sous ensemble des objets int ressant
344. t tre trait es avec attention En outre du fait de la nature 1 dimensionelle des lignes et des traits leur orientation joue un r le important Par exemple dans le cas o une ligne horizontale se trouve au milieu d un grand nombre de lignes verticales on peut vouloir traiter cette ligne horizontale diff remment d une ligne verticale Sur la figure 6 11 par exemple nous utilisons la directionnalit pour distinguer les barreaux horizontaux des barreaux verticaux de la grille de mani re viter de supprimer les lignes horizontales cause du grand nombre de lignes verticales Nous d finissons un estimateur pour la densit de lignes partir de ces consid rations Pour aborder ces contraintes nous nous inspirons de techniques de d composition d image telles que les pyramides orientables steerable pyramids FA91 et repr sentons la notion de densit a diff rentes chelles et orientations o 0 o 2 o 5 all directions NE NJA aly FIG 6 4 Pyramides des cartes de densit a priori Les pyramides de cartes de densit a priori pour le mod le de la maison pour des raisons de confort visuel ces cartes sont dessin es en mode n gatif et avec un gamma plus grand Chaque colonne correspond une direction diff rente et montre trois niveaux la base o 2 et 5 pixels de la pyramide gaussienne correspondante La cinqui me colonne montre la carte de densit a priori a directionnelle 160
345. t Comme nous le verrons la prochaine section cet aspect nous aidera lever un certain nombre d ambiguit s pr sentes dans la requ te d informations Dans notre impl mentation la g om trie d un trait est stock e sous la forme d une liste de sommets chaque sommet stockant lui m me la liste d attributs visuels paisseur couleur texture Cette g om trie constitue l pine dorsale du trait La g om trie compl te du trait quant elle prendra en compte les valeurs d paisseur sp cifi es pour les points de cette pine dorsale a b Fic 4 5 Traits a Graphe de vue b Un trait construit partir de ce graphe de vue Les points d un trait peuvent inclure des sommets du graphe de vue a b FIG 4 6 Les traits ne correspondent pas n cessairement des lignes en 3D a Un trait en noir construit comme le cha nage de plusieurs ar tes du graphe de vue Les projections de ces ar tes sont connexes dans le plan image b Sous un autre point de vue on constate que ces ar tes ne sont pas connect es en 8D et donc que le trait construit correspond en 3D aun ensemble disjoint d ar tes B Les traits peuvent tre r chantillonn s la demande Nous proposons galement deux m canismes de r chantillonnage des points d un trait Le premier m canisme est li la requ te d information comme on le verra un peu plus loin les traits font partie des l ments mani
346. t par exemple ainsi s lectionner l ensemble des traits dont au moins une partie appartient au contour ext rieur Invisibilit quantitative Moyenne Maximum Minimum Union Continu J V VO Discontinu X J J A priori la moyenne d un ensemble d invisibilit s quantitatives ne fournit pas d infor mation r ellement exploitable En outre elle est a priori du type r el alors que le type de base pour cette information est N Pour ces raisons nous avons consid r que l op ration de moyennage de cette information dans le cas discontinu n avait pas de sens On peut en revanche imaginer utiliser les op rations min max pour s lectionner les traits qui sont cach s au plus ou au moins par un certain nombre de surfaces Finalement avec l op ration d union on sait en plus dans quelle proportion telle ou telle valeur d invisibilit quantitative est pr sente dans le trait Objets occultants Moyenne Maximum Minimum Union Continu X X 1 Discontinu X X J La principale utilisation de cette information consiste a v rifier si un trait est masqu par tel ou tel objet Objets cach s Moyenne Maximum Minimum Union Continu X X VD Discontinu x X v De mani re similaire l information pr c dente on peut ainsi savoir si un trait cache tel ou tel objet Mat riau Moyenne Maximum Minimum Union Continu J X 2 Discontinu 3
347. t g r s par L De m me les fonctions d finies dans L doivent pouvoir tre appel es dans Lo Ainsi dans une proc dure crite en Lo on pourra instancier un objet d fini en L et le passer comme argument une fonction galement d finie en Ly H ritage dans L de classes d finies dans L Si une classe a t d finie dans L1 on veut pouvoir l h riter dans Lo Par exemple nous d finissons en C une classe de base dont h ritent les functors 0D Grace cette contrainte il est possible pour l utilisateur d h riter de cette classe en Python afin de d finir son propre functor OD Utilisation dans L d objets d finis dans L Un objet d fini dans L et d rivant d une classe d finie dans L par exemple doit pouvoir tre manipul en L1 Ainsi si on a une classe de base A d finie en C et une classe B d finie en Python qui h rite de A et que B surcharge une m thode m de A alors un appel B m en C doit faire appel au code de m d fini en Python Par exemple L op rateur de d coupage d fini en C prend un functor OD en argu ment La premi re contrainte nous permet de savoir qu on peut appeler cet op rateur en 141 python La deuxi me contrainte nous offre le choix d utiliser un des functors pr d finis ou de d finir notre propre functor en Python celui ci d rivant alors de la classe de base La troisi me contrainte nous permet de passer ce functor en argument la fonction
348. tangente SpatialNoiseShader 1 30 2 1 1 bruit spatial ThicknessNoiseShader 2 10 bruit d epaisseur BackboneStretcherShader 0 2 stretche le trait cree les traits Operators create TrueUP1D shaders list On voit ainsi la structure d un module de style qui correspond au pipeline d op rateurs d fini au chapitre 5l on a ainsi une s quence d appels aux op rateurs de s lection de chainage de d coupage r cursif et de cr ation C est dans ce dernier que l affectation d attributs d finie par la liste de shaders shaders list est effectu En particulier le d coupage r cursif est utilis en combinaison avec la fonction de courbure de mani re d finir des traits commen ant et s arr tant aux points de plus forte courbure Le shader caract ristique de ce style d forme finalement la g om trie de chaque trait de mani re l approximer par un trait rectiligne R gles utilis es Les r gles utilis es dans ce module de style qui ont t programm es par l utilisateur et que nous allons d tailler dans la suite sont le pr dicat unaire pyParameterU POD et le shader pyGuidingLineShader Pr dicat unaire OD Ce pr dicat teste partir de son abscisse curviligne la position d un point sur une cha ne Il peut ainsi permettre d identifier les points se trouvant pr s des extr mit s d un trait 4 Predicat unaire 0D Retourne vrai si le parametre u du trait appartient
349. tant donn e une ligne de nature quelconque on peut observer un changement de visibilit aux points suivants Intersections en T Ces points correspondent aux intersections dans la plan image des projections de la ligne tracer et d une silhouette potentiellement le contour passe derri re un objet ou ressort de derri re un objet cf figure 2 18 a Jonctions en Y Ces points correspondent aux points 3D o une silhouette d bute ou s ach ve sur notre ligne cf figure 2 18 a Points de rebroussement Cusps en Anglais Ils correspondent aux points de la sil houette o sa tangente est colin aire la direction de vue cf figure 2 18 b FIG 2 18 Points de changement de visibilit jonctions en T et en Y et cusps a Jonctions en T et en Y Les points B C et D sont des jonctions en T Ils correspondent des intersections entre les projections d une ar te de silhouette et d une autre ar te Les points E et F en gris sont des jonctions en Y Ils correspondent des jonctions en 8D entre des ar tes caract ristiques et des ar tes de silhouette b Points de rebroussement cusps les points A B C et D sont des points de rebroussement Ils marquent des changements d invisibilit quantitative dont les valeurs sont indiqu es c t des ar tes Sur ces deux illustrations les ar tes visibles sont dessin es avec le poids le pl
350. te Synchronisation par op rations Dans ce sch ma de synchronisation les l ments sont tous trait s par un tage avant d tre transmis l tage suivant Ainsi O traite l l ment lo d s que ln a t trait par O _1 Les l ments sont en quelque sorte stock s entre deux tages Oj et Oj 1 jusqu avoir tous t trait s par Oj O i flo O2 h lo In O3 ly lg In O4 h lg In t gt Dans cette configuration on est s r que pour tout j lorsque O traite l tous les l ments lo ln ont d j t trait s par l ensemble des Op p lt En particulier lors du traitement de l par Oj on peut utiliser l ensemble des informations fourni par les traitements Op lz p lt i k Quel sch ma de synchronisation choisir Le choix de l un ou l autre des sch mas a des r percussions sur les possibilit s offertes par le pipeline La synchronisation par op rations on l a vu permet de disposer au sein d un op rateur O de l information fournie par le passage de l ensemble des l ments par les op rateurs pr c dents Par exemple si on consid re un pipeline comprenant un op rateur de s lection suivi d un op rateur de chainage cette synchronisation permet de savoir pendant le cha nage si une ar te quelconque du graphe de vue a t s lectionn e ou non Cette information est n
351. te dont le reproche nous souvent t fait Comme nous l avons expliqu au chapitre l il existe un conflit entre le maintien de la coh rence temporelle et le respect du style tel qu il a t sp cifi Pour cette raison une approche telle que celle introduite par Kalnins et al KDMFO03 qui consiste automatiquement modifier les attributs et la topologie des traits de mani re minimiser les artefacts visuels n est pas philosophiquement compatible avec notre approche qui offre l utilisateur un contr le fin sur ces m mes attributs Selon la logique de cette approche seul l utilisateur est en mesure de sp cifier le comportement a adopter dans tel ou tel cas pour maintenir la coh rence temporelle et il faudrait int grer cette 209 derni re au syst me programmable Les moyens permettant d arriver un tel r sultat font partie des travaux futurs 8 3 Travaux futurs Mise en volume Notre syst me est actuellement limit aux dessins au trait compos s des ensembles d ar tes de notre graphe de vue Une extension naturelle pourrait consister inclure un traitement coh rent des lignes de tons et de hachures De m me des travaux futurs pourraient inclure des traitements proc duraux similaires pour la mise en volume shading le syst me de marques et tous les autres composants NPR Coh rence temporelle Notre th se n aborde pas le probl me de la coh rence temporelle En r alit l ext
352. tes ou des traits Algorithme 5 1 Op rateur de s lection Fonction Select Entr e IT un pr dicat unaire op rant sur des l ments 1 dimensionnels un ensemble d l ments 1D Sortie un ensemble d l ments 1D 1 E ensemble actif d l ments 1 dimensionnels 2 E 0 3 pour EEE 4 si II E vrai 5 6 alors E E U E 5 2 3 Contr le de la topologie des traits op rateurs de cha nage Principe La topologie des traits est une composante importante du style qui doit pouvoir tre contr l e de mani re flexible l aide d un ou plusieurs op rateurs Sp cifier la toplogie d un trait revient en r alit d crire un chemin dans le graphe de vue cf section 3 2 2 En effet ce dernier fournit des informations de connectivit entre les ar tes caract ristiques alors qu un dessin de lignes est fait de chemins 1 dimensionnels On doit donc disposer d un op rateur permettant de suivre un chemin dans le graphe de vue et de construire le trait constitu par la suite 1 dimensionnelle des ar tes formant ce chemin C est le r le de l op rateur de chainage L algorithme de chainage propos cet effet parcourt le graphe en partant d une ar te donn e Une r gle sp cifi e par l utilisateur permet de choisir pour une ar te quelconque quelle ar te prendre parmi les ar tes candidates pour poursuivre le parcours Une autre r gle permet
353. thogonale le point de vue est d fini par un plan passant par l origine de cette sph re Tout arc intersectant ce plan correspond alors une ar te de silhouette La d termination des ar tes de silhouette se r sume donc un probl me d intersection entre des arcs sph riques et un plan probl me pour lequel les deux papiers proposent des solutions rapides Benichou et al par exemple projettent la sph re de Gauss sur un cube unitaire de mani re ramener ce probl me des calculs d intersections 4 32 chapitre 2 Etat de l art entre segments dans le plan L inconv nient de cette approche est qu elle est difficilement extensible aux projections perspectives FIG 2 15 Sph re de Gauss La sph re de Gauss est la sph re des directions sur laquelle les normales sont repr sent es par des points et les ar tes par des arcs Sur la figure on a par exemple dessin l ar te E qui est repr sent e par un arc A E reliant les points Ni E1 et No E1 qui correspondent aux normales respectives des deux faces adjacentes l ar te E1 Benichou et al BE99 Dans le m me esprit Barequet et al BDG T99 proposent une m thode de mise jour des ar tes de silhouette travaillant dans l espace dual et permettant d acc l rer la d termination des silhouettes dans le cadre d une animation Dans l espace dual les plans supports des faces du maillage sont repr sent s par des points et l
354. tilisateur comme une suite de proc dures mettant en relation les attributs de style et les informations de la sc ne 3 5 Vue d ensemble du syst me Nous donnons ici une vue d ensemble de la mise en uvre de cette approche programmable de mani re rendre les objets manipul s plus concrets La figure 3 26 montre le pipeline correspondant au processus de dessin La seule interaction avec l utilisateur se situe dans la cr ation de la description de style et est repr sent e l aide d une fl che orange sur le sch ma Une fois celle ci faite tout est automatique Nous choisissons de travailler en entr e avec un mod le 3D de type maillage polygo nal Id alement la surface correspondant ce maillage est une vari t de dimension 2 Une structure de connectivit est g n r e partir du maillage Dans notre impl mentation nous construisons une structure winged edge Gla91 Une telle structure permet entre autres d acc der aux faces adjacentes une ar te ou encore l ensemble des ar tes partant d un sommet et est n cessaire au calcul des lignes caract ristiques La seconde tape consiste d tecter sur le mod le les lignes caract ristiques corres pondant au point de vue choisi et les organiser sous forme d un graphe Les lignes ca ract ristiques consid r es incluent les lignes de silhouette les ar tes vives et les contours suggestifs DFRS03 Le graphe ainsi construit est appel
355. tour ext rieur d une sc ne Des exemples de cha nage illustrant cet op rateur sont propos s sur la figure 5 7 Entr es Sorties L entr e des op rateurs de chainage est un ensemble d ar tes du graphe de vue La sortie est un ensemble de traits R gles L utilisateur doit pouvoir programmer la r gle permettant de choisir un sommet donn quelle ar te choisir parmi les ar tes candidates Cette r gle est en r alit une fonction tra verse qui prend en argument l ensemble des ar tes candidates et qui retourne l ar te lue AG ahanta E DranrammnAtoan Aa chia 124 chapitre 5 Programmation de style ep a ee ee ee FIG 5 7 Op rateur de chainage Sur cette illustration deux ensembles de traits diff rents on t cr s en partant du m me ensemble d ar tes l ensemble des ar tes du contour ext rieur haut La r gle de chainage consiste ici suivre le contour ext rieur Ainsi on peut voir que suite un tel chainage une cha ne unique relie l ensemble des ar tes pour chaque partie connexe du contour ext rieur bas Pour cette image le cha nage a suivi les ar tes en respectant la topologie des objets et en reliant les ar tes de m me nature On remarque que bien que l ensemble des ar tes de d part soit le m me ce chainage n a pas t restreint la s lection et par la m me occasion introduit dans les cha nes des ar tes suppl mentaires La r gle d arr t d
356. trations de qualit les grosses differences avec le PR lines mark based rendering 1 2 Le style dans le NPR La richesse de l art pictural r side dans le style Nous avons mentionn plus t t que le dessin offrait plus de libert dans la repr sentation que la photographie notamment parce que l artiste n est pas oblig de se contraindre un syst me de projection ou de primitives de trac donn C est dans cette libert et donc dans les variations qu on pourra observer entre diff rents artistes que s exprime le style Le style est ainsi l empreinte purement humaine et individuelle imprim e par un artiste une repr sentation C est cet aspect qui marque la diff rence majeure entre le rendu non photor aliste et le rendu traditionnel en synth se d images En effet alors que le premier se doit d int grer une composante humaine importante pour permettre la sp cification du style de rendu le deuxi me rel ve d un processus purement automatique disposant de mod les pour la cam ra la lumi re et des propri t s photom triques des mat riaux les images sont calcul es en si mulant les interactions entre les rayons lumineux et les objets de la sc ne Une bonne compr hension des concepts manipul s en rendu non photor aliste passe donc par une tude de la notion de style en art pictural Notions de style Dans cette section nous reprenons une d composition du processus de dessin qui fournit
357. ttaque du pinceau sur le support et selon la pression exerc e Pour certains artistes l paisseur d un tel trait est d autant plus importante que sa courbure est forte Par ailleurs de mani re assez naturelle les points de courbure importante correspondent souvent aux points de d but et de fin de traits En effet il est plus facile de tracer avec pr cision un trait quasi rectiligne qu un trait fortement courb Cette observation est encore plus nette sur les esquisses pour lesquelles l artiste approche les formes courbes l aide de s ries de traits rectilignes cf figure 3 17 Nature des lignes Nous avons d ja observ dans la section 3 1 et en particulier sur illustration 3 2 que la nature des lignes e g silhouette contour ext rieur pouvait d cider de leur paisseur En illustration technique cette r gle de style est explicite et d finit l paisseur de chaque ligne en fonction de sa nature J M89 Tay03 Dans la figure 3 18 les lignes sont cat goris es en fonction de leur nature et un poids diff rent est attribu chaque cat gorie Invisibilit quantitative Dans le domaine de l illustration technique l information de visibilit est une des donn es les plus utilis es dans la mise en style certaines repr sentations peuvent n cessiter l affichage des lignes cach es de mani re offrir une perception plus compl te d un objet dans ce cas pour une raison de l
358. tte propri t soit conserv e lors de la projection pour disposer d une param trisation correcte des cha nes 2D indispensable a leur stylisation Or il existe de nombreux cas probl matiques en particulier dans le cas des approximations polygonales des silhouettes Northrup et al NMO00 proposent une cat gorisation de ces probl mes et un ensemble de solutions qui y sont d di es Un premier artefact qu ils observent est la superposition des projections de plusieurs segments de silhouette dans le cas d un morceau de surface plane tangent la direction de vue cf figure 2 21 a L autre artefact fr quemment rencontr lorsque les silhouettes sont approxim es polygonalement est l effet de zigzags observable sur les chaines 3D une fois qu elles sont form es Le r sultat de ces zigzags est une param trisation incoh rente de la projection de la cha ne cf figure 2 21 b FIG 2 21 Rendu de traits artefacts des cha nes polygonales de silhouette a Une silhouette simple en apparence gauche peut tre le r sultat de la superposition d un ensemble complexe d ar tes droite b Avec les approximations polygonales de silhouette on observe souvent des zigzags le long des cha nes Northrup et al NM00 Northrup et al rep rent avant de cha ner les segments qui seront l origine de ces artefacts Ainsi les segments qui dans l espace image se recouvr
359. u point courant et en particulier de r cup rer les informations stock es la droite comme la gauche de ce point Nous avons expliqu que des m canismes de r chantillonnage taient disponibles au sein des traits Ces m canismes sont accessibles au travers de tels it rateurs qui permettent a Vutilisateur de sp cifier la valeur d chantillonnage avec laquelle il faut travailler Fonctions 0 dimensionnelles Les fonctions 0 dimensionnelles sont des functors travaillant sur des it rateurs OD les l ments point s par ces derniers pouvant tre des points sur les ar tes ou des sommets du graphe Le type de retour varie en fonction de l information acc d e par la fonction Des fonctions d acc s l ensemble des informations d finies sont fournies de mani re stan dard dans le syst me Fonctions 1 dimensionnelles Comme on a pu le voir pr c demment dans la grande majorit des cas une requ te d information sur un l ment 1D est calcul e comme une int gration de plusieurs valeurs OD obtenues chacune par requ te 0D On fournit ce m canisme au travers d une fonction integrate qui partir d un functor OD d un it rateur OD pointant sur le premier point de an l l ment 1D consid r et du type d int gration e g moyenne max utiliser renvoie une valeur globale tout l l ment 1D Ainsi la plupart du temps un functor 1D se limite un appel ce m canisme le type d
360. u programmeur est th oriquement infinie les traits tant explicitement manipul s dans le programme toute op ration e g d formation coloration aussi complexe soit elle peut leur tre appliqu e Comme nous le verrons la litt rature regorge de nombreux exemples de styles visuels r alis s en suivant cette approche L objectif d une application NPR est d une part de produire des rendus stylis s mais galement d autre part d offrir l utilisateur un maximum de contr le sur les styles des rendus La difficult r side alors dans le transfert du contr le offert au programmeur vers l utilisateur Si l on se r f re au sch ma de la figure 2 12 l tage de stylisation porte le label 2 C est donc cet tage que l utilisateur doit avoir un acc s flexible pour pouvoir contr ler le style du rendu 26 Nous utilisons ce sch ma de fonctionnement comme cadre de travail pour notre approche et tachons donc d exposer dans notre syst me le maximum de fonctionnalit s du composant de construction des traits Dans la suite de ce chapitre nous d crivons plus en d tail les travaux relatifs ce sch ma de fonctionnement les prochaines sections pr sentent les nombreux travaux relatifs aux deux composants de ce pipeline avant de se pencher plus pr cis ment sur la recherche ant rieure traitant du contr le sur la stylisation des lignes en NPR c est dire du contr le sur l tage 2 R sum Les te
361. ue GPU et ainsi de mettre les approches analytiques la port e du temps r el MH04 et les approches directes entre parenth ses Rendu analytique de lignes caract ristiques D s que l on veut afficher les lignes de mod les 3D de mani re r ellement stylis e l ap proche classique consiste calculer les ar tes caract ristiques de mani re analytique en s ap puyant sur les formules correspondant chaque type de lignes cf section 2 2 d terminer le sous ensemble de ces ar tes qui sont visibles fabriquer des traits stylis s partir de ces ar tes en les chainant et en affectant des attributs de couleur ou d paisseur par exemple aux traits ainsi construits cf section 2 3 puis afficher ces traits cf section 2 3 3 La figure 2 12 montre le pipeline commun l ensemble des applications ayant choisi cette ap proche Build strokes i ee a gt l ara dd l i l A i i KT OKO ye ee a Ee se l Ce 3D Feature edges Strokes and information Attributes FIG 2 12 Rendu analytique de lignes sch ma de fonctionnement g n ral Les tapes standard d une approche analytique du rendu de lignes caract ristiques sont la d tection d ar tes caract ristiques sur le mod le 3D et la construction de traits stylis s g om trie et attributs des traits Avec cette approche la libert de stylisation offerte a
362. ue ces attributs sont absolument suffisants pour repr senter tous les effets visuels possibles Les cons quences du manque d un attribut ne sont pas les m mes selon que celui ci fasse d faut aux attributs de bas ou de haut niveau Le premier cas est moins probable dans la mesure o d une part les attributs de bas niveau sont par nature facilement observables et d autre part ces attributs sont utilis s depuis longtemps en NPR En outre l ajout d attributs de bas niveau est relativement facile int grer en autorisant l ajout d attributs de type r el ou vecteur de r els de dimension deux ou trois comme c est le cas dans notre syst me Il faut cependant bien videmment disposer du moteur de rendu ad quat prenant les attributs d finis par l utilisateur en compte On pourrait par exemple int grer un attribut orientation de la plume qui permettrait au moteur de rendu d automatiquement faire varier l paisseur du trait en cons quence de mani re imiter un trait calligraphique Le cas du manque d attributs de haut niveau est plus ais ment envisageable et a des r percussions plus profondes sur l approche Plus ais ment envisageable parce que la perception des attributs de haut niveau requiert un il exerc et qu il serait pr tentieux d affirmer que le notre l est absolument Les r percussions d un tel manque pourraient tre plus profondes dans la mesure o elles impliqueraient potentiellement
363. ue de la direction de la ligne c est dire de la normale 2D cette ligne La figure 3 16 montre ces effets sur une illustration faite au pinceau 70 chapitre 3 Mod lisation de style Fic 3 14 Informations coordonn es 2D Dans ce dessin l artiste parvient faire exister une aire triangulaire au dessus de la t te du personnage de premier plan juste en utilisant un style plus l ger pour les traits qui s y trouvent Baudoin 1996 L Association y 1111 RUE EAT r J a I me Ma AY lt is cf Fic 3 15 Informations normales 3D Sur cette illustration il semble que tous les traits correspondent aux lignes de silhouette tourn es vers un point central la sc ne semblant ainsi indiquer l ombrage Ce sont les normales 3D qui permettent de dire si une surface est orient e vers un point donn de l espace fo A he ma Ah me 3 3 Informations 71 FIG 3 16 Informations normales 2D L aspect calligraphique observ sur cette illustration est d l utilisation du pinceau pour tracer les traits Les zones de pleins et de d li s sont en particulier li es la direction des traits c est dire aux normales ces traits Tome et Janry 1998 Dupuis TJ98 Courbure 2D La courbure des traits peut galement influer sur le style En particulier avec certains outils tels que le pinceau l paisseur du trait varie selon l angle d a
364. ues op rant dans l espace image manipulent des pixels c est dire qu elles s appliquent dans un espace discret Par contraste travailler dans l espace objet signifie que l on travaille dans un espace 3D continu Le type de ces l ments 3D et les op rations qu on leur applique varient en fonction de la nature de la repr sentation utilis e pour la sc ne 3D On identifie quatre types principaux de repr sentation surfacique pour les mod les 3D Les maillages polygonaux Dans cette repr sentation une surface est approch e par un ensemble de polygones e g triangles quadrilat res connect s Cette repr sentation est en particulier adapt e un affichage utilisant la carte graphique Les surfaces param triques Une surface param trique est d finie par des points de contr le de mani re similaire des courbes param triques telles que les splines par exemple tout point de la repr sentation est d fini par interpolation polynomiale d un sous ensemble des points de contr le Ce type de repr sentation permet notamment une dition interactive ais e et une obtention directe des propri t s diff rentielles e g nor male courbure Il est courant de convertir les surfaces param triques en maillages polygonaux pour le rendu Les surfaces de subdivision mi chemin entre les maillages polygonaux et les surfaces param triques les surfaces de subdivision sont d finies de mani re it rative partir d un m
365. un module de style produisant de tels traits un module cr ant des lignes plus d finitives au moins pour une partie de la sc ne on donne au dessin une apparence inachev e Le module de style charg des lignes de construction consiste principalement en un d coupage r cursif aux points de courbure importante suivi d une d formation g om trique permettant d approximer chaque trait par un segment rectiligne Sur la figure 7 11 nous avons combin ce module de style avec un module de style produisant des traits d finitifs pour les lignes les plus proches du point de vue Le code correspondant au module de style charg des traits de construction se trouve section 7 2 1 Gribouillage Leterme gribouillage d signe ici l impression caus e par le fait de dessiner une ligne de la vue l aide de plusieurs traits se recouvrant au moins partiellement Cette technique est tr s fr quemment utilis e durant les phases de recherche de la r alisation d une uvre picturale Il existe en particulier deux moyens de cr er de tels traits dans notre syst me le cha nage multiple et le d coupage s quentiel Chainage multiple Le principe du chainage multiple est de permettre le chainage d une m me ar te plusieurs fois cf section 5 4 2 Les traits construits de cette mani re peuvent ensuite tre spatialement bruit s de mani re distinguer les diff rents passages de la cha ne par une m me ar te Il r sulte
366. une epaisseur calligraphique PyCalligraphicThicknessShader 6 Epaisseur mininmale 40 Epaisseur maximale Vec2f 1 1 Orientation l iterateur repond vrai cree les traits Operators create TrueUP1D shaders_list R gles utilis es La seule r gle cod e par l utilisateur est ici le shader pyCalligraphicT hicknessShader Shaders Ce shader affecte une paisseur calligraphique aux traits Il s appuie sur l infor mation de normale 2D pour calculer l paisseur appropri e en chaque point Affecte une epaisseur calligraphique aux traits Derive de StrokeShader class pyCalligraphicThicknessShader StrokeShader Constructeur 4 m epaisseur minimum M epaisseur maximum He V direction calligraphique def __init__ self m M V StrokeShader __init__ self 7 2 Style simple 187 self m m self M M self V V On instancie le functor OD de requete de l information de normale 2D self _getNormal2D Normal2DFOD Methode shade def shade self stroke it stroke strokeVerticesBegin On itere sur les sommets while it isEnd 0 Recupere la normale a la courbe n2d self getNormal2D it normalize Calcule de epaisseur t self m fabs n2dx self _V self M self m Affecte la nouvelle epaisseur it getObject attribute setThickness t 2 0 t 2 0 it increment 7 2 3 Troisi me module de style lignes visible
367. une infinit de variations sur nos styles Est il facile d explorer des styles Premi rement exploration de nouveaux styles n est possible que gr ce la grande flexi bilit fournie par notre approche Ensuite bien que la programmation ne constitue peut tre pas la plus intuitive des techniques d interaction elle reste probablement la plus adapt e l exploration de styles En effet cette approche a l avantage de naturellement s parer les diff rentes tapes du processus de dessin contr le de la topologie affectation des attributs et de privil gier une mod lisation de style par niveaux de d tails on commencera par mod liser les grandes lignes du style afin de raffiner chaque composante sa guise Cette approche favo rise galement la r utilisation de styles existants pour l exploration on pourra par exemple diter un style proche du style souhait et le modifier par petites tapes jusqu atteindre l ob jectif fix On notera qu il est alors essentiel que la visualisation des modifications apport es un style soit interactive ce qui est aujourd hui possible avec un langage de description de style interpr t ou compil a la vol e En outre l utilisateur peut instantan ment v rifier le passage l chelle du style obtenu en l appliquant au rendu d une vari t de mod les 3D Par manque de temps nous n avons malheureusement pas pu mener les tudes utilisateur n cessaires
368. ur sp cifi e par l utilisateur BackboneStretcherShader c Les traits sont d form s de mani re correspondre une approxi mation de leur tangente en son milieu GuidingLinesShader d Ce shader CalligraphicShader permet d assigner au trait une paisseur variable en fonction de la direction de mani re imiter un effet calligraphique Une mani re plus naturelle d obtenir cette param trisation multiple et galement d or ganiser le pipeline aurait t de permettre des appels un op rateur de shading plusieurs endroits du pipeline en particulier dans le sous pipeline synchronis par op rateur Il au rait alors suffit pour r aliser l illustration de la figure 5 19 b d appeler cet op rateur une premi re fois apr s un chainage ne tenant pas compte de l information de visibilit pour af fecter au trait ainsi construit la couleur et la g om trie puis une deuxi me fois apr s un Algorithme 5 8 Op rateur de cr ation Fonction Create Entr e II un pr dicat unaire op rant sur des l ments 1 dimensionnels Sp p un ensemble de shaders T un ensemble de traits Sortie le dessin Ti ensemble actif de traits pour T Ti si II E true alors pour Sp Sp p S T dessiner T SS otre ID 150 chapitre 5 Programmation de style a b Fic 5 19 Multiple param trisation des traits
369. ura recours plusieurs tests de visibilit de mani re choisir celle donn e par la majorit Hertzmann et al proposent galement une technique pour d tecter les points de rebroussement l utilisation de la propri t de colin arit de la tangente et de la direction de vue n tant pas num riquement fiable Ils montrent que ces points correspondent aux intersections sur la surface de la silhouette avec la courbe d quation k1 P V w1 ka CP V G w2 2 3 k1 et Kg tant les valeurs des courbures principales dans leurs directions respectives w1 et wa La figure 2 19 montre ces deux courbes Nous avons choisi de d terminer l invisibilit quantitative des ar tes caract ristiques l aide d une approche exacte En raison des impr cisions dues au probl me d incompatibilit entre la silhouette que nous calculons d apr s la m thode de Hertzmann et Zorin et le mod le polygonal nous effectuons plusieurs lancers de rayons par segment de visibilit constante et avons recours un vote pour d terminer la valeur de l ensemble du segment Pour d terminer les points de rebroussements nous avons choisi de d tecter les points pour lesquels la courbe de silhouette est colin aire la direction de vue pour chaque ar te de la silhouette on calcule son produit vectoriel avec la normale la surface en son milieu lorsque le produit scalaire entre ce vecteur et la direction de vue est nul la sil
370. urcissement des traits et de r duction progressive de l paisseur aux extr mit s lL Conclusion Ce m moire pr sente une nouvelle formulation du processus de cr ation d image pour la g n ration de dessins au trait partir de mod les 3D Dans ce chapitre nous commen ons par faire un r sum des contributions et ensuite nous citons quelques pistes qui nous semblent pertinentes pour des travaux futurs 8 1 R sum des contributions Cette th se s appuie sur le postulat que le style dans le dessin de lignes peut tre exprim comme la mise en relation d attributs de style avec des informations g n riques extraites de la sc ne repr sent e L une de nos contributions est d avoir valid cette supposition au travers de nos exp rimentations Toutefois notre principale contribution est l approche unifi e et flexible pour le rendu stylis de dessins au trait qui d coule de la supposition mentionn e pr c demment et qui permet d exprimer un style de fa on g n rique i e ind pendante d une sc ne donn e En particulier un niveau de d tails plus fin nous avons ainsi contribu L identification d un ensemble d attributs de style plus complet que ceux qui avaient pu tre propos s avant incluant notamment des attributs de haut niveau tels que la s lection ou la topologie des traits L identification d un ensemble d informations pertinentes dans le cadre de la mod lisation de sty
371. ure de Chagall on observe le m me type de variations de style que pour l image pr c dente des traits pais pour les contours et des traits fins pour les d tails Cette combinaison est galement assez caract ristique des uvres de Chagall Marc Chagall 1960 Drawings for the bible Cha60 R sum Un style est compos d attributs bas niveau qui sont la g om trie l paisseur la couleur et la texture des traits et d attributs haut niveau qui sont la topologie des traits la s lection des lignes dessiner et l utilisation de multiples styles au sein d un m me dessin 68 chapitre 3 Mod lisation de style 3 3 Informations Comme nous avons pu le voir lors de nos observations au d but de ce chapitre nous travaillons avec l hypoth se que les d cisions stylistiques sont en partie li es des infor mations g n riques extraites de la sc ne Dans cette section nous t chons d identifier et de lister l ensemble des informations qui peuvent prendre part ces d cisions stylistiques Cette identification se fonde en partie sur notre propre exp rience et en partie sur quelques r gles commun ment reprises par les ouvrages traitant de l apprentissage ou de l tude du dessin L objectif final tant de produire un syst me de rendu travaillant sur des sc nes 3D on sup pose ici que l ensemble de la g om trie de la sc ne repr sent e est accessible Coordonn es 3D Il est courant d utilise
372. us important les ar tes cach es par une seule surface sont dessin es avec un poids moyen et les ar tes cach es par deux surfaces sont dessin es avec un poids faible C est Appel App67a qui le premier utilise ces points pour d terminer la visibilit des lignes caract ristiques I introduit pour ce faire l invisibilit quantitative qui donne en 38 chaque point le nombre de surfaces qui le cachent S il observe des singularit s aux points de rebroussement Appel ne les caract rise pas encore et se limite aux intersections en T Plut t que d valuer l invisibilit quantitative de chaque segment par un co teux lancer de rayons Appel montre qu l aide de propri t s g om triques simples il est possible de conna tre l volution de l invisibilit quantitative le long d une ligne En effet gr ce l orientation des faces il est possible de d terminer si la projection d un point se trouve l int rieur ou l ext rieur de la projection d une face Appel utilise cette propri t pour savoir si une ligne passe derri re une face ou en ressort L algorithme consiste alors calculer l ensemble des intersections des projections des lignes d terminer l invisibilit quantitative d un certain nombre de points initiaux l aide d un lancer de rayons par exemple puis mettre jour cette invisibilit quantitative le long des lignes en la d cr mentant ou en l incr menta
373. ustrations de la figure 3 2 ont en commun un certain nombre de caract ristiques visuelles En particulier les lignes d limitent les objets avec pr cision et chacune d elle est monochrome et d paisseur constante Nous sommes ici tr s proche du style du courant de la ligne claire symbolis par Herg Pourtant elles pr sentent toutes trois une caract ristique suppl mentaire pr dominante le poids des lignes varie d une ligne l autre dans le dessin Y a t il une raison pour le choix de ces diff rents poids Peut on relier le choix de chaque poids une information de la sc ne On distingue en fait dans les trois images deux poids diff rents un faible et un fort Dans les deux premi res illustrations ce sont les lignes ap 3 1 Observation 57 FIG 3 2 Poids des lignes li e leur nature a et b les lignes de silhouette sont dessin es avec un poids plus important que les autres lignes c les lignes du contour ext rieur sont trac es avec un poids important Dans tous les cas l attribut de poids des lignes peut tre mis en relation avec l information de nature de ces lignes b et c Kevin Hulsey Illustration Inc www khulsey com partenant a la silhouette des objets qui sont trac es avec le poids le plus fort de mani re a am liorer la perception de ces objets A partir de ces observations on peut tenter de d crire le style de ces deux illustrations sous une forme pesu
374. utomatiquement l image ou les images partir des informations de sc ne L apport le plus important que repr sente la synth se d images pour le monde de l illus tration traditionnel est un gain de temps travers une plus grande automatisation Il est probable que encore aujourd hui il soit souvent plus rapide de dessiner ou peindre directement une illustration que de mod liser la sc ne correspondante Si l on consid re en revanche l exemple d une s quence anim e pour laquelle 25 dessins par seconde doivent tre produits il est s rement plus int ressant de mod liser les objets impliqu s dans la s quence d en d finir l animation et de g n rer les images que de faire la main chaque dessin De m me pour la fabrication d un manuel d utilisation les illustrations sont encore la plupart du temps faites la main alors qu avec l av nement de la conception assist e par ordinateur A CAO les objets dessin s sont de plus en plus souvent disponibles sous forme de mod les 3D Ici encore il paraitrait judicieux de r utiliser les mod les existants et de g n rer automati quement les dessins d un tel manuel Ainsi dans ce contexte la 3D repr sente un potentiel de factorisation jusqu a pr sent inexistant en illustration traditionnelle B Tout un chacun peut devenir un artiste Finalement de fa on plus triviale le NPR met la port e du plus grand nombre la cr ation d illus
375. vant Algorithme 5 7 It rateur de chainage ChainPredicatelterator Fonction traverse Entr e Il un pr dicat unaire op rant sur des l ments 1 dimensionnels II un pr dicat binaire op rant sur des l ments 1 dimensionnels F les ar tes candidates pour suivre la cha ne Sortie Ener ar te par laquelle se poursuit la cha ne 1 E l ar te courante 2 pour F Ej 3 si II F true et I E Ei true 4 alors Ener LE 5 Enext lt nil Cet it rateur permet par exemple d impl menter les chainages suivants Chainage en suivant le contour ext rieur de la sc ne Le pr dicat unaire pass Vit rateur v rifie qu une ar te appartient au contour ext rieur d une sc ne tandis que le pr dicat binaire est toujours vrai aucune contrainte par rapport l ar te pr c dente n est n cessaire Ce chainage est illustr par la figure 5 14 a Chainage en suivant le contour d un objet Le pr dicat unaire v rifie cette fois que l ar te consid r e est bien une ar te de contour tandis que le pr dicat binaire v rifie que cette ar te appartient bien au m me objet que l ar te pr c dente Chainage en suivant les diff rents plans d une sc ne Ce chainage permet par exemple de construire des traits d limitant un premier plan un deuxi me plan un arri re plan etc d une sc ne Le pr dicat unaire v rifie que l ar te consid r e est une ar t
376. vons propos es sont seulement des illustrations du pouvoir de l information de densit De nouveaux styles et de nouvelles approches pour analyser et contr ler l encombrement pourraient faire l objet de travaux futurs De plus la densit causale soul ve de mani re cruciale la question de l ordonnancement des traits quelles sont lignes caract ristiques les plus importantes pour la repr sentation fid le d un objet Nous pensons que la g om trie la perception et l analyse d image peuvent tre utilis es pour produire des estimations pertinentes de l importance d un trait Finalement l information de densit pourrait tre combin e avec de l information de nature s mantique ou cognitive tels que des courbes issues de syst mes de suivi de regard eye tracking systems DSO2b Table des figures 1 1 Le dessin comme outil p dagogique et moyen de communication 1 2 Le dessin stylis comme choix esth tique 1 3 D ssins d lignes 4 2 5 aus 2 4 doe bk ae auch dee Poe we OS 2 1 G n rations de peintures partir d images 2 2 G n ration d illustrations base de hachures partir d images Salisbury et al 2 3 G n ration d illustrations base de hachures partir d images 2 4 Rendu de peintures partir de sc nes 8D
377. vre dans le graphe Le r sultat de cette op ration est un cha ne d ar tes enti res du graphe connexes deux deux La deuxi me est un d coupage qui permet de raffiner la topologie des traits en sp cifiant des points de d part et d arr t qui ne sont pas forc ment des sommets de graphe de vue La figure 5 2 b illustre ces op rations sur l exemple pr c dent Y KY Cha nage D coupage a b FIG 5 2 Contr le de la topologie des traits a Un trait b Pour construite le trait on commence par chatner un nombre entier d ar tes puis dans un deuxi me temps on raffine la topologie en d coupant ce trait aux points de d part et d arr t souhait s Ensuite une fois la topologie sp cifi e il reste encore assigner ses attributs visuels chaque trait On doit donc disposer d op rateurs d di s cette op ration nous les appelle rons shaders L ensemble des traits ainsi construits doit finalement tre trac dans l image finale Un op rateur de dessin doit donc tre propos de mani re ce que l utilisateur puisse finalement initier le rendu des traits dans l image finale On identifie galement un autre be soin celui de pouvoir trier les l ments d une s quence En effet comme nous le verrons plus loin dans le processus de dessin l ordre dans lequel les l ments ar tes du graphe de vue ou traits sont trait s peut avoir de l importance Nous proposons un ensem
378. vue c est dire une courbe a priori non rectiligne de 4 2 3 Caract risation des sommets du graphe Outre les sommets correspondant des intersections en T qui sont faciles identifier il est important d tre capable de caract riser les sommets correspondant des discontinuit s de la fonction d information Apr s avoir pr sent ces derniers dans le cas g n ral nous les tudions ici plus concr tement au regard des diff rentes informations consid r es tude de continuit des fonctions d information Nous proposons ici une tude informelle des propri t s de continuit des fonctions d in formations TZ cf section 4 2 2 Chaque discontinuit d une de ces fonctions d information implique la pr sence d un sommet du graphe de vue Nature des ar tes du graphe de vue N Nous avions vu la section 4 1 2 que l informa tion de nature des ar tes du graphe de vue tait un vecteur de dimension 4 pour les quatre natures possibles silhouette ar te vive contour suggestif bord dont chaque composante vaut 0 ou 1 selon que l ar te appartient la famille concern e ou non Un changement de ce vecteur de nature sur l une de ses composantes suffit donc cr er une discontinuit et donc un sommet du graphe de vue La figure 4 3 montre par exemple une courbe qui passe de l tat ar te vive l tat silhouette ar te vive Par d finition seule
379. xte il semble raisonnable de souhaiter manipuler des lignes sur lesquelles on n observe pas de changement radical de l information dans le cas contraire une ligne contenant la fois une partie cach e et une partie visible devrait elle tre consid r e visible ou invisible La structuration de ces lignes en graphe d coule naturellement de la nature 2D d un dessin qui offre l artiste la possibilit de s affranchir de la topologie 3D de la sc ne en exploitant les relations entre lignes voisines I est donc essentiel de disposer d un tel arrangement pour offrir Vutilisateur un contr le flexible sur la topologie des traits Remarque Au del de la question structurelle le choix de travailler avec le graphe de vue signifie galement regarder le processus de dessin comme une projection de la 3D vers la 2D Est ce une limitation et existe t il une alternative Les cons quences directes de ce point de vue sont que seules les lignes ayant t d tect es en 3D pourront appara tre dans le dessin et les traits ne pourront pas s carter de la topologie 2D de la sc ne Cela peut constituer une limitation s v re en particulier dans le cas de la simplification de dessins au trait par exemple un artiste dessinant de mani re simplifi e une structure complexe telle qu une grille ou un toit modifiera souvent l chelle ou la position des motifs dessin s Notre approche ne permet pas ce type de simplifications C

Download Pdf Manuals

image

Related Search

Related Contents

MODE D`EMPLOI 2471  WINAMP REMOTE CONTROL ECE-476 Joe Golden – jg325 Kenny  DV426-922(IR) - Krieg Videotechnik  家庭総合  SMB413 USER'S MANUAL  8975, 8970, 360°Complete Solo    65 - 全国公正取引協議会連合会  OPERATING INSTRUCTIONS for R  Guia do usuário  

Copyright © All rights reserved.
Failed to retrieve file