P1C6 - Textures Flashcards
Différents types de textures
(fonction de mappage)
- mapping de texture 2D - carrelage, papier peint…
- mapping de texture solide - bois, marbre…
(fonction de perturbation)
- bump mapping (rugosité à une surface lisse) - granit…
Mapping 2D
Limites : déformations de texture, difficile si objet complexe, pixélisation si bitmap trop petit, problèmes de discontinuité de la texture.
2 étapes :
- S-mapping (mapper texture 2D sur surface 3D simple, objet intermédiaire) T(u,v) → P(xi, yi, zi)
- O-mapping (mapper le modèle 3D sur l’objet) P(xi, yi, zi) → S(xw, yw, zw)
S-mapping
Objet : plan, cube, cylindre ou sphère
Mapping inverse : correspondance normale ou centrée (depuis objet vers solide vers texture…)
Mapping direct : correspondance intermédiaire (vers objet)
Mapping sphérique centré
O-mapping inverse: Sphère centrée sur le centre de gravité de l'objet, l'englobe, calcul de l'intersection de la droite CS avec la sphère : xp = xc + (xs-xc)p yp = yc + (ys-yc)p zp = zc + (zs-zc)p
(x-xc)²+(y-yc)²+(z-zc)² = 1 (car p appartient à la sphère)
Résolution avec p≥0 pour trouver xp, yp, zp
S-mapping inverse : Θ = atan(yp/xp) Φ = atan[zp/√(xp²+yp²)] u = Θ/2π + 1/2 (-π≤Θ≤π) v = -Φ/π + 1/2 (-π/2≤Φ≤π/2) (repère en haut à gauche)
Mapping cylindrique centré
O-mapping inverse: cylindre centré sur le centre de gravité de l'objet et l'englobant, axe z parallèle. xp=xc+(xs-xc)p yp=yc+(ys-yc)p zp=zs
S-mapping inverse:
u = Θ/2π + 1/2 (-π≤Θ≤π)
v = 1 - (zp - zmin)/H
(repère en haut à gauche)
Mapping de texture solide (+ex)
fonction mathématique décrivant la texture en 3D (texture procédurale)
exemple:
Si [abs(x)+abs(y)+abs(z)]%2 == 0 alors blanc sinon noir
avantage : représentation compacte, pas de résolution fixe, domaine de définition infini, peut être paramétrée
inconvénient : difficile à définir, prédire et contrôler, calcul parfois plus lent que mapping, antialiasing difficile
Exemple du bois
texture solide, coordonnées cylindriques, variation entre deux couleurs en sinus, d’un terme pour l’écartement entre les veines, de variation pour déformer les cercles, de déphasage pour une torsion radiale, et torsion longitudinale.
Bump mapping (fonction de perturbation)
Donne l’illusion de relief sans augmenter la géométrie, inspiré de la méthode d’ombrage de Phong (inclination/réorientation des normales, donne relief lors de l’éclairage)
Utilisation d’une bump map (une texture) pour stocker les normales (ou infos pour les recalculer).
OpenGL textures
à voir
Billboarding
visualisation d’objets complexes non modélisés (arbres) à l’aide de plans texturés (transparents) tournés face à l’observateur (objets symétriques)
Mapping d’environnement
limites d’une scène (skybox), cube ou sphère, réflexion des objets sur les autres. Point de vue placé au centre de l’objet (enlevé de la scène), calcul de 6 vues et assemblage pour mapper le cube sur l’objet.
limite : l’objet n’a pas d’interactions/réflexions avec lui-même
Textures d’ombres
Calcul des ombres et mémorisation dans une texture
LOD
Level of detail, ne pas calculer un objet s’il représente 1 pixel car loin… différentes textures selon éloignement.