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