Sylvain LEFEBVRE
Total Page:16
File Type:pdf, Size:1020Kb
Universite´ Joseph Fourier de Grenoble (UJF) Modeles` d'habillage de surface pour la synthese` d'images Sylvain LEFEBVRE These` present´ ee´ pour l'obtention du titre de Docteur de l'Universite´ Joseph Fourier Specialit´ e´ Informatique Arretˆ e´ Ministeriel´ du 5 juillet 1984 et du 30 mars 1992 Prepar´ ee´ au sein du laboratoire EVASION-GRAVIR/IMAG-INRIA. UMR CNRS C5527. Composition du jury : Fabrice NEYRET Directeur de these` Claude PUECH President´ du Jury Michael MCCOOL Rapporteur Mathias PAULIN Rapporteur Mark HARRIS Examinateur Jean–Michel DISCHLER Examinateur Przemek PRUNSINKIEWICZ Encadrant Eurodoc 1 Remerciements Mes premiers remerciements vont a` mes parents, Maryse et Jean-Claude Lefebvre, et a` ma famille, pour leur soutien et leurs encouragements sans faille. Mais je n'aurais que difficilement traverse´ ces trois annees´ sans ma compagne, Franc¸oise, qui m'a apporte´ aide, soutien, et bonheur au quotidien, malgre´ les nombreuses separations´ imposees´ par un emploi du temps trop charge´ et de nombreux voyages. Je remercie aussi tout particulierement` mon frere,` Stephane´ Lefebvre, a` qui je dois, entre–autre, ma passion pour les jeux videos,´ mes premiers pas de Basic et ma premiere` lecture, plus tard, du Richie–Kernighan. Je remercie eg´ alement Fabrice, pour m'avoir initie´ au monde de la recherche, pour sa dis- ponibilite,´ les nombreuses discussions et idees´ echang´ ees,´ et la liberte´ qu'il m'a permise durant ces trois annees´ de these.` Merci aussi a` Jean–Luc Koning, pour ses conseils precieux´ au travers de trois annees´ de monitorat a` l'ESISAR. Je souhaite eg´ alement remercier Przemek Prunsinkie- wicz, pour m'avoir accueilli a` l'Universite´ de Calgary dans d'excellentes conditions ; et Hugues Hoppe, pour m'avoir offert l'incroyable opportunite´ d'effectuer un stage, puis un postdoc a` Mi- crosoft Research. Mille mercis a` Jer´ omeˆ Decroix et Thomas Bruel, graceˆ a` qui j'ai decouv´ ert l'informatique graphique (POVray, les “coding party”), et qui m'ont beaucoup appris. C'est ensemble que nous avons mis les premieres` miettes de pizza dans nos claviers (tout un symbole !). Merci aussi a` Alexis Angelidis, graphiste et codeur de talent, avec qui nous avons passe´ de nombreux bons moments a` creer´ un raytracer, puis un jeu (Etees), puis a` nous detendre´ autour de quelques Gui- ness bien merit´ ees.´ Merci a` Samuel Hornus et a` Jerome´ Darbon pour les nombreuses aventures de “deadline” inoubliables, et les recherches menees´ ensemble ! Merci eg´ alement aux compagnons de these,` Stephane´ Grabli, Stephane´ Guy, Sylvain Paris et a` tous les thesards´ d'ARTIS et EVASION pour les bons moments et leur aide precieuse.´ Et puis bien surˆ , un grand merci aux equipes´ d'ARTIS et EVASION, pour quatre annees´ de bonne humeur, pauses cafe,´ discussions improvisees´ et pour toutes les choses, indenombrables,´ que j'ai apprises a` leurs cotˆ es.´ Merci en particulier a` Xavier Decoret, Lionel Reveret, Gilles De- bunne, Phillipe Decaudin, Joelle Thollot, pour leurs conseils et les nombreux echanges´ d'idees.´ Enfin, merci aux copains, Antoine, Philippe, Charly, Karine, Renaud, Lili, Eric, Vincent, Cindy pour les nombreuses soirees´ de detente.´ Un grand merci eg´ alement a` l'equipe´ du 17, Matthieu, Louis, Philippe, Cyril, Jean–Baptiste, pour les soirees´ autour du theme` du jeu video,´ les week–end “ShufflePuck Cafe” et les modeles` 3D et textures que le lecteur retrouvera dans ces pages ! 2 T a b l e d e s m a t i e` r e s I Introduction et etat´ de l'art 13 1 Introduction 15 1 Un probleme` de tapisserie . 17 2 Objectifs de la these` . 18 3 Contributions . 19 4 Organisation du document . 20 2 Etat de l'art 23 1 Rappel sur la creation´ d'images de synthese` . 23 1.1 Representation´ des formes . 23 1.2 Eclairage . 24 1.3 Algorithmes de rendu . 24 1.3.1 L'ecran´ . 24 1.3.2 Lancer de rayon . 24 1.4 Rendu projectif . 26 1.5 Modeles` d'illumination locale . 28 1.6 Moduler l'illumination locale avec un modele` d'habillage . 28 2 Modeles` d'habillage pour les surfaces quelconques . 30 2.1 Placage de texture standard, par parametrisation´ de surface . 30 2.1.1 Principe . 30 2.1.2 Parametrisation´ planaire . 30 2.1.3 Stockage des donnees´ de texture . 35 2.1.4 Acces` aux donnees´ de texture . 35 2.1.5 Interpolation . 35 2.1.6 Limitations du placage de texture . 37 2.1.7 Extensions du placage de texture . 40 2.2 Cartes d'environnement . 45 2.2.1 Principe . 45 2.2.2 Cartes d'environnement gen´ eralis´ ees´ . 46 2.2.3 Conclusion sur les cartes d'environnement . 47 2.3 Particules de textures . 48 2.3.1 Principe . 48 4 TABLE DES MATIERES` 2.3.2 Representations´ utilisees´ et difficultes´ . 48 2.4 Habillage en volume . 49 2.4.1 Principe . 49 2.4.2 Donnees´ d'habillage en volume . 50 3 Modeles` d'habillage pour les terrains . 52 3.1 Textures explicites . 52 3.2 Pavages periodiques´ du plan . 52 3.3 Pavages aperiodiques´ du plan . 53 3.4 Pavages de surfaces . 56 3.5 Quelques techniques utilisees´ dans le jeu video´ . 56 3.5.1 Melange´ de differentes´ echelles´ . 57 3.5.2 Transitions entre materiaux´ . 57 3.5.3 Ajout de hautes frequences´ . 58 4 Filtrage . 60 4.1 Origine du probleme` . 60 4.2 Sur–echantillonnage´ . 62 4.3 Filtrage et modeles` d'habillage . 62 4.3.1 Filtrage pour le placage de texture . 62 4.3.2 Filtrage et combinaison de textures explicites . 66 4.3.3 Filtrage des textures procedurales´ . 66 4.3.4 Filtrage des modeles` d'habillage en gen´ eral´ . 66 4.4 Note sur la qualite´ de filtrage . 67 4.5 Limites du filtrage pour les modeles` d'habillage . 67 4.5.1 Aliasing geom´ etrique´ . 67 4.5.2 Interaction avec le modele` d'eclairage´ . 68 5 Techniques de gen´ eration´ d'aspect de surface . 69 5.1 Techniques de peinture . 69 5.2 Synthese` de textures . 69 5.2.1 Textures procedurales´ . 70 5.2.2 Synthese` a` partir d'un echantillon´ . 71 5.2.3 Methodes´ basees´ sur la simulation . 73 5.3 Methodes´ respectant les contraintes des pavages . 73 5.4 Textures animees´ ou dynamiques . 74 6 Modeles` d'habillage et representations´ alternatives . 75 6.1 Textures Volumiques . 75 6.2 Imposteurs . 75 6.3 Rendu par point . 76 7 Concevoir des modeles` d'habillage pour les applications interactives . 77 7.1 Cartes accel´ eratrices´ . 77 7.2 Geom´ etrie´ et applications interactives . 79 8 Resum´ e´ et conclusion . 80 TABLE DES MATIERES` 5 II Habillage a` base de motifs pour terrains et surfaces parametr´ ees´ 83 3 Textures procedurales´ a` base de motifs 85 1 Notre approche : Textures procedurales´ a` base de motifs . 86 1.1 Cartes et textures . 88 1.2 Combiner les composants . 88 1.3 Composants pour le choix et le positionnement des motifs . 88 1.4 Transitions . 96 1.5 Animation . 99 2 Notes d'implementation´ . 102 2.1 Encodage des tables en 2D . 102 2.2 Encodage d'entiers dans des textures . 103 3 Connecter les composants pour gen´ erer´ des textures : etude´ de cas . 103 4 Filtrage des textures gen´ er´ ees´ . 108 4.1 Solutions pour nos textures procedurales´ . 108 4.2 Discussion sur l'interpolation . 110 5 Resultats´ . 111 6 Conclusion . 112 4 Application : rendu de gouttes d'eau sur surfaces 115 1 Positionnement des gouttes d'eau . 115 2 Texture d'humidite´ . 116 3 Rendu . 116 4 Conclusion . 117 5 Application : ombres portees´ par un grand ensemble d'objets 121 1 Le contexte . 121 1.1 Gen´ eration´ de la foretˆ . 122 1.1.1 Principe . 122 1.1.2 Le carre´ de foretˆ . 122 1.1.3 Creation´ des arbres a` partir des graines . 123 2 Ombres d'objets sur un terrain . 123 3 Conclusion . 127 III Textures de haute resolution´ plaquees´ sur surfaces quelconques 129 6 Gestion de textures de haute resolution´ plaquees´ sur des surfaces quelconques 131 1 Travaux sur le chargement progressif . 132 2 Organisation des donnees´ de texture . 134 3 Vue d'ensemble de notre architecture . 136 4 Determination´ des cases de texture utiles : carte de chargement de texture . 136 4.1 Calcul d'un niveau de la carte de chargement . 137 6 TABLE DES MATIERES` 4.1.1 Elimination des faces cachees´ . 139 4.1.2 Obtenir un resultat´ conservatif . 140 4.1.3 Calcul du niveau de detail´ . ..