Qian Cui, Stephane Wolf & Arnaud Choquart - DESS IMM - 2002/2003 1
Synthèse d ’images
« Solid Texturing »
2
Sommaire
Petit rappel sur les textures 2D Le « Solid Texturing » Les avantages Les inconvénients Exemples
3
Les textures 2D
Fonctions à 2 paramètres
Peuvent être de 2 types : textures « bitmap » :
couleur = tab[u][v]
textures procédurales : couleur = f(u, v);
4
Les textures 2D - Inconvénients
Coûteuses en mémoire Manque de détails Problème pour texturer à l’infini Manque de cohérence entre les faces Difficulté de texturer les surfaces
complexes
5
Le « Solid Texturing »
Solid Texturing = Texturing 3D
Introduit en 85 par K. Perlin et D. Peachy
Texture 3D = fonction à 3 paramètres
6
Le « Solid Texturing »
Variantes :
paramètres : vecteur normal, direction de l’observateur, d’une source lumineuse, …
valeur retournée : couleur spéculaire,…
7
Le « Solid Texturing »
Autre forme : les « Textures Map »Tableau à 3 dimensions :
très coûteux en mémoire
8
Avantages
Réalisme de matières non homogènes
Cohérence entre les faces
Solid Texturing indépendant de la forme de l’objet texturé
9
Avantages - Exemple
Comparaison textures 2D – textures 3D
10
Avantages - Exemple
Structure de bois
11
Avantages - Exemple
Une autre manière de concevoir le « Solid Texturing » : la sculpture
12
Avantages
Place réduite en mémoire
Plus de problèmes d’aliasing ou de pixelisation
13
Inconvénients
Petit problème de réalisme
Difficulté de trouver la fonction de « Solid Texturing »
Besoin d’utiliser les coordonnées de l’objet et non de la scène (scènes dynamiques)
Peut nécessiter beaucoup de calcul (évaluation en chaque point)
14
Surfaces complexes
Faciles avec le « Solid Texturing » (avec Textures 2D: difficile et problème de continuité [surtout quand nombres textures augmentent])
1 seule texture 2D? => INCOHERENCE entre les faces !
« Solid Texturing » indépendant du système de coordonnées de la surface
15
Types de fonctions
Fonctions de projection: texture 2D recopiée le long de l’axe Z
Fonctions de combinaison
16
Exemple de fonction(Bois)
F(x,y,z) = x² + y² Cylindres concentriques Possibilité de rajouter du bruit pour
augmenter réalisme: F(x,y,z) = x² + y² + n(x, y, z) n(x,y,z) est une fonction de bruit
17
Exemple de fonction (Marbre)
F(x,y,z) = x + Σ4i=1 2-i n(2i x, 2i y, 2i
z)
18
Exemple de fonction (Nuage - eau)
F(x) = Σ4i=1 2-i n(2ix)
19
Conclusion
« Solid Texturing »: puissant, économique en mémoire, souple, évite de nombreux problèmes du 2D
Son coût dépend de sa fonction d’évaluation (évaluation en chaque point), difficulté pour définir les fonctions.
20
Références
« Solid texturing of complex surfaces », Darwin R. Peachey, SIGGRAPH 85
« An Image synthetizer », Ken Perlin, SIGGRAPH 85