• Aucun résultat trouvé

M. NEVEU TEXTURES

N/A
N/A
Protected

Academic year: 2022

Partager "M. NEVEU TEXTURES"

Copied!
32
0
0

Texte intégral

(1)

TEXTURES

M. NEVEU

à partir notamment du cours Siggraph 97 et

(2)

TEXTURES

Gain de réalisme Pas « cher »

Attacher la texture à l’objet  travailler dans l’espace de l’objet

(3)

Textures 2D et 3D

Analogies : papier peint (2D) , sculpture (3D)

(4)

PRINCIPE

(5)

PRINCIPE

S-1

A

(6)

Application A

(7)

Projection selon un axe

(8)

Projection cylindrique

(9)

Projection sphérique

(10)

Projection par Développement

(11)

Projection par Développement

(12)

Application triviale de texture sur un objet paramétrique. (a) et (c) sans

transformations, (b) et (d) avec la transformation l = 2.h et θ = π/4 (qui implique h

= V2/3).

Plus généralement : Application A

(13)

(a) La texture déformée (b) Application sur la sphère.

Déformation de la texture pour l’adapter à la paramétrisation de la surface.

On utilise une texture déformée (respectant le facteur d’échelle 2 :1)

Application A : déformation

(14)

u v

u= mod(u',1/n ) : v=mod(v',1/n ) ε

u u

u

v v

mod(u',1/n ) si u.n estpair 1-mod(u',1/n ) sinon

: mod(v',1/n ) si v.n estpair

u

v

ε

 =   

 

 

   

 =   

Application A : répétition avec ε

(15)

Utilisation d’une texture naturelle. (a) Texture de bois. (b) Sphère en bois vue sous son meilleur jour. (c) Pendant ce temps là, de l’autre côté de la sphère : discontinuité sur la frontière de recollement. (d) Paramétrisation multiple.

Textures cycliques

(16)

Vecteur réfléchi (environnement mapping)

Vecteur normal à la surface (exagère les déformations)

Vecteur normal à la surface intermédiaire (atténue les

Surfaces complexes :

application intermédiaire

(17)

Composition application intermédiaire - projection

(18)

Si P = (1 - α - β).P0 + α.P1 + β.P2 alors Q = (1 - α - β).Q0 + α.Q1 + β.Q2

Cas des facettes

on associe à chaque sommet (P0, P1, P2) d’une facette des coordonnées (Q0,Q1,Q2) dans l’espace des textures

(19)

Cas des facettes

Si on utilise une interpolation similaire à l’ombrage de Gouraud :

ie si P dans l’espace de l’écran est défini par : P’ = (1 – α’ – β’).P’0 + α’.P’1+ β’.P’2 Et qu’on calcule Q = (1 – α’ – β’).Q0 + α’.Q1 + β’.Q2 alors erreur projective

0 1 2

0 1 2

0 1 2

(1 )

: (1 ) / / /

Q Q Q

w w w

il faut Q

w w w

α β α β

α β α β

− − + +

= − − + +

(20)

Problèmes d’échelle

At<Ap At≈Ap At>Ap

Ecran Objet Texture

(21)

Facteur de compression d

Pij : pixel

Puv : polygone correspondant dans l’espace texture

(

uv

) d = Α P

Ex :

d = 1 : le pixel couvre tt l’espace texture d = ¼ : le pixel couvre ¼ de l’espace texture

Taille image = 2N x 2N => aire d’un pixel = 2-N x 2-N

(22)

Pixellisation

(uc,vc) : image du centre de Pij

Dans l’image Tij, (n.uc,n.vc) est dans [i’,i’+1]x[j’,j’+1] avec i’=n.uc et j’=n.vc

Interpolation

bilinéaire Interpolation

bicubique

(23)

Pixellisation

(24)

Sous échantillonnage (aliasing) Mip-Mapping : texture à plusieurs échelles

1

, 2 ,2 2 1,2 2 ,2 1 2 1,2 1

1 ( )

4

k k k k k

i j i j i j i j i j

T

= T + T

+

+ T

+

+ T

+ +

On suppose l’image de la texture carrée et de taille 2N × 2N.

Changement de résolution le plus simple : construire une image deux fois plus petite.

A chaque pixel de l’image deux fois plus petite, on associe un bloc de 2×2 pixels sur l’image originale de valeur = moyenne des 4 pixels du bloc.

, k

T

i j

La taille de l’image est 2k × 2k.

A partir de l’image T N on construit un ensemble de N + 1 images T k , k de 0 à N Facteur de compression au niveau k : dk = 2-k

(25)

Ensemble des images calculées pour le mip- mapping.

Stockage optimal du mipmap d’une texture

Mip-Mapping

(26)

Mip mapping : couleur d’un pixel

Pixel courant (uc,vc,d) kc = -log2(d)

[ ] ( )

' ' '

( , )c c i j', 'k ' c ,( ', ') c.2k , c.2k C u v =T k = k i j = u   v

Voisin le plus proche

Interpolation bilinéaire

[ ] ( )

[ ]

'

' '

', ' ', ' 1

' ' '

' 1, ' ' 1, ' 1

( , ) ( ', ') ' ,( ', ') ,

( , ) 1 1

c c k c c c c c

k k

i j i j

k k k

i j i j

C u v C u v k k u v u u v v

T T v

C u v u u

T T v

+

+ + +

= = =      

 −

= −   

Interpolation trilinéaire ( , ) (1 ) '( ', ') ' 1( ', ')

(1 ) ' ( ' 1)

c c k k

c

C u v C u v C u v

k k k

λ λ

λ λ

= − + +

= − + +

(27)

Technique du mip- mapping appliqué à l’échiquier

(28)

En 3D

(29)

3D

(30)

3D

Pour faire les anneaux, on prend les coord en x et y (resp x et z, y et z) pour calculer la distance d’un point au centre de l’objet + troncature.

(31)

Bruit

Lattice noise : grille de bruit Valeur aléatoire pour chaque ccord entière

Si coord entière : lookup table Si coord réelle : interpolation

trilineaire Gradient noise : vecteurs de bruit

générés pour chaque coord entière Interpolation trilinéaire

(32)

Bump Mapping/ Displacement Mapping

Carte de hauteurs

Modification des normales

Références

Documents relatifs

Réalise le deuxième montage devant le professeur puis termine seul le troisième montage observation (comment brille la lampe 1 lorsqu’on ajoute un puis deux récepteurs ?) :.

0,004 : zéro virgule zéro zéro huit ou (zéro unité et )

En déduire la partie entière de

Arrondis chacun des nombres des opérations puis donne le

Non, la courbe n’est pas d’un seul tenant, la fonction ne semble pas continue sur IR.. Démontrer que E est continue sur tout intervalle de la forme [n ;n+1[ où n est

Los datos que hemos presentado ponen de manifiesto que el Mapa Infoparticipa, proporcionando criterios para mejorar la información que se publica en las webs de

Démonstration. L^) le complexe de faisceaux de Q-espaces vectoriels (resp. £^) la flèche d'inclusion de Di (resp. — En utilisant le THÉORÈME 3.10, nous constatons que le

[r]