Chapitre 3 : Textures - LaCIM
Transcription
Chapitre 3 : Textures - LaCIM
Chapitre 3 : Textures Alexandre Blondin Massé Département d’informatique Université du Québec à Montréal 21 septembre 2016 Infographie INF5071 A. Blondin Massé (UQAM) 21 septembre 2016 1 / 22 Table des matières 1. Réflexion de lumière 2. Développement de modèles 3. Application de texture 4. Démonstration A. Blondin Massé (UQAM) 21 septembre 2016 2 / 22 Couleur et lumière I Un objet ne peut avoir une couleur que si une source lumineuse existe quelque part; I Autrement, il sera complètement noir; I Lorsqu’un rayon de lumière frappe un objet, celle-ci est réfléchie selon différents phénomènes : I Réflexion diffuse; I Réflexion spéculaire; I Diffraction, etc. A. Blondin Massé (UQAM) 21 septembre 2016 3 / 22 Réflexions diffuse et spéculaire (source: GianniG46) A. Blondin Massé (UQAM) 21 septembre 2016 4 / 22 Modèle de Lambert I C’est un des modèles les plus simples et très utilisé en infographie; I Soient #» I N un vecteur normal unitaire à la surface; #» I L un vecteur unitaire de la surface vers la lumière et I I iL un nombre indiquant l’intensité de la lumière. Alors l’intensité de diffusion est #» #» iD = iL (N · L), où · dénote le produit scalaire. A. Blondin Massé (UQAM) 21 septembre 2016 5 / 22 Exemple Soient √ I une sphère de centre (0, 0, 0) et de rayon 14, I une source lumineuse située en L = (3, 5, 2), dont l’intensité au point P est donnée par 10/dist(P, L) et I le point S = (1, 2, 3) se trouvant sur la sphère. Calculez l’intensité de lumière au point S. A. Blondin Massé (UQAM) 21 septembre 2016 6 / 22 Réflexion spéculaire I Une limite du modèle de Lambert est qu’il ne tient pas compte de l’observateur; I Plus précisément, peu importe l’angle, la texture apparaı̂t de la même façon; I Or, lorsqu’on regarde un objet, par exemple métallique, il arrive que la lumière soit directement réfléchie dans notre oeil. I Pour tenir compte de cet aspect, on utilise par exemple le modèle de Phong. A. Blondin Massé (UQAM) 21 septembre 2016 7 / 22 Table des matières 1. Réflexion de lumière 2. Développement de modèles 3. Application de texture 4. Démonstration A. Blondin Massé (UQAM) 21 septembre 2016 8 / 22 Mise en contexte I Une texture est essentiellement une image 2D; I Le problème, c’est que nos modèles sont des objets 3D; I Comment établir une relation entre les deux ? I Essentiellement, il s’agit de construire une fonction texture : {points du modèle} → {pixels d’une image} I Autrement dit, on doit associer à chaque point de notre modèle une couleur prise dans une image. A. Blondin Massé (UQAM) 21 septembre 2016 9 / 22 Développement ou projection I Cette relation entre modèle et image peut être vu comm une projection d’un objet 3D sur un espace 2D; I On appelle ce processus développement du modèle (en anglais, unwrap); A. Blondin Massé (UQAM) 21 septembre 2016 10 / 22 Développement d’une sphère I Le développement d’un modèle n’est pas toujours facile à déduire du modèle; I Par exemple, comment devrait-on développer une sphère ? I Même pour le cube de la diapositive précédente, si on développe, on obtient une projection non utilisable. A. Blondin Massé (UQAM) 21 septembre 2016 11 / 22 Couture (seam) I La stratégie consiste à utiliser des coutures (en anglais, on dit seam); I Une couture est simplement une arête le long de laquelle on accepte qu’il y ait une discontinuité; I Il faut donc choisir les coutures avec soin, si on veut s’assurer que la discontinuité n’est pas trop apparente; I Dans Blender, on identifie une couture en choisissant certaines arêtes et entrant la commande CTRL-E + Mark seam; I Les coutures apparaissent alors en rouge. A. Blondin Massé (UQAM) 21 septembre 2016 12 / 22 Exemple (1/4) I Dans l’image ci-bas, il y a une couture le long d’un méridien; A. Blondin Massé (UQAM) 21 septembre 2016 13 / 22 Exemple (2/4) I Le développement est bien différent si on ajoute une couture faisant un tour complet; A. Blondin Massé (UQAM) 21 septembre 2016 14 / 22 Exemple (3/4) I On peut aussi faire une projection sphérique; A. Blondin Massé (UQAM) 21 septembre 2016 15 / 22 Exemple (4/4) I La projection sphérique fonctionne mieux si on remplace les pôles par plusieurs sommets; A. Blondin Massé (UQAM) 21 septembre 2016 16 / 22 Choisir les coutures Pour choisir les coutures, il faut une certaine pratique : I On sépare là où il y a un changement de matériau; I Ensuite, on prend une suite d’arêtes moins visibles où la coupure sera moins apparente (par exemple, derrière l’objet); A. Blondin Massé (UQAM) 21 septembre 2016 17 / 22 Table des matières 1. Réflexion de lumière 2. Développement de modèles 3. Application de texture 4. Démonstration A. Blondin Massé (UQAM) 21 septembre 2016 18 / 22 Texture I Formellement, une texture est simplement une image 2D; I Nous allons voir plus tard dans le cours qu’on peut aussi créer des textures 3D; I Ces dernières contiennent non seulement une image, mais aussi : I une texture de relief (bump map); I une texture de spéculaire; I les vecteurs normaux. A. Blondin Massé (UQAM) 21 septembre 2016 19 / 22 Logiciels I Inkscape, pour créer des images vectorielles (on peut évidemment ensuite exporter); I Gimp, pour créer des images de type bitmap; I Aussi, Photoshop et Illustrator. I Souvent, il y a un va-et-vient entre des logiciels de modélisation 3D et les logiciels pour les images 2D; I De la même façon, certaines images produites par Blender sont ensuite modifiées à l’aide de logiciels 2D. A. Blondin Massé (UQAM) 21 septembre 2016 20 / 22 Texture manuelle I Il est aussi possible de créer des textures manuellement; I Beaucoup d’artistes 3D procèdent de cette façon; I En anglais, on dit model painting; I On peut combiner les approches manuelle et automatisée. I L’avantage de faire une texture manuelle est qu’on a une rétroaction directe sur l’aspect du modèle. A. Blondin Massé (UQAM) 21 septembre 2016 21 / 22 Table des matières 1. Réflexion de lumière 2. Développement de modèles 3. Application de texture 4. Démonstration A. Blondin Massé (UQAM) 21 septembre 2016 22 / 22