La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 Texturing - Tessiture Daniele Marini. 2 Texture mapping 2D, 3D o 4D La texture è una qualsiasi immagine Loperazione di mapping trasferisce limmagine.

Presentazioni simili


Presentazione sul tema: "1 Texturing - Tessiture Daniele Marini. 2 Texture mapping 2D, 3D o 4D La texture è una qualsiasi immagine Loperazione di mapping trasferisce limmagine."— Transcript della presentazione:

1 1 Texturing - Tessiture Daniele Marini

2 2 Texture mapping 2D, 3D o 4D La texture è una qualsiasi immagine Loperazione di mapping trasferisce limmagine sulla superficie

3 3 Pipe-line di texturing Calcola posizione nello spazio mondo Usa una funzione di proiezione MAPPING Usa una funzione di corrispondenza Applica funzione di trasformazione dei valori Modifica valore di illuminazione (x,y,z) Es: proiezione ortografica (proiettare una slide) (u,v) in (0,1) Da (0,1) a es. (256x256), trova valore in array R,G,B Es. moltiplica R,G,B per 1.1 per evitare valori troppo scuri Applica modello illuminazione con terna R,G,B

4 4 coordinate di textureLa configurazione di texture 2D è definita sul piano s,t - coordinate di texture normalizzate in [0,1] o in coord. di array, T(s,t) è la texture texelsGli elementi dellarray di texture sono i texels –La texture map associa a ogni punto delloggetto un unico punto su T –Ogni punto delloggetto viene trasferito al display con le operazioni di rendering

5 5 I valori di T sono espressi in (R,G,B) La terna viene usata per modificare la terna (r,g,b) del punto delloggetto come calcolata dal modello di illuminazione durante la fase di shading Il mapping: se la superficie è parametrica un punto è: La funzione di mapping puo essere lineare (proiezione ortografica):

6 6 La funzione è invertibile se ae bd La conversione alle coordinate schermo: Questo approccio non tiene conto della curvatura, va bene per mappare su un piano

7 7 Funzioni di corrispondenza Altre funzioni di corrispondenza possono essere: –Wrap, repeat, tile: limmagine viene ripetuta come una piastrella –Mirror: limmagine viene ripetuta riflettendola verticalmente o orizzontalmente –Clamp: i valori esterni a (0,1) sono forzati agli estremi, il bordo dellimmagine si prolunga su tutta la superficie –Border: i valori esterni a (0,1) sono resi con un colore proprio, va bene per decalcomanie

8 8 Funzioni di modifica Replace: rimpiazza i valori R,G,B della texture agli r,g,b del modello di illuminazione - chiamato anche glow texture Modulate: moltiplica r,g,b per R,G,B

9 9 Image texture Mappare una immagine es. 256 x 256 su una superficie piana; se la superficie proiettata supera o è inferiore alla risoluzione dellimmagine: –Magnification –Minification

10 10 Magnification Nasce aliasing, si supera con interpolazione –Nearest neighbor: produce pixellizzazione, va bene per piccoli ingrandimenti (max fattore 2) –Interpolazione bilineare: smoothing –Altri filtri per ingrandimenti elevati (ricampionamento)

11 11 Minification Molti texel possono cadere sullo stesso pixel –Ancora nearest neighbor, sceglie il texel più vicino al pixel, aliasing forte! –Ancora interpolazione bilineare: sceglie il texel medio per il pixel –Meglio ricampionamento dellimmagine

12 12 MipMapping Mip: multi in parvo –Limmagine di texture originale viene affiancata da molte versioni via via più piccole –Livello 0 originale –Livello 1 sottocampionato a un quarto (subtexture), si usa filtro gaussiano –Si prosegue fino alla risoluzione del pixel –Attenzione al gamma!per avere brightness costante

13 13 MipMapping Per scegliere quale texture usare si usa un parametro d per cercare di avere pixel:texel in rapporto 1:1 o 2:1 (frequenza di Nyquist) Se un pixel ingloba più texel si scende di livello d individua il livello, la terna (u,v,d) individua il texel, il campione si determina con interpolazione trilineare

14 14 Ripmapping Si sottocampiona anche linearmente lungo u e v Permette di evitare effetti di sfocatura ai bordi

15 15 Per la curvatura si segue un approccio a due passi: –Mappare su una sfera o un cilindro o un cubo - S mapping –Mappare la struttura ottenuta sulloggetto finale - O mapping Secondo passo:

16 16 preimmaginePoiché il rendering procede pixel per pixel, siamo più interessati a conoscere il valore di texture di un singolo pixel, quindi lapproccio più adatto procede in modo inverso, si deve calcolare la preimmagine Aliasing!Aliasing!

17 17 Texture mapping in OgL

18 18 Il texturing è fatto durante la rasterizzazione della primitiva mappa punti 3D in locazioni (pixel) sul display Ciascun frammento generato viene testato per la visibilità (z-buffer) e se visibile viene calcolato lo shading Durante linterpolazione di shading si calcola il valore di texture usando ancora interpolazione tra vertici estremi

19 19 Posso usare anche un intervallo inferiore di s e t, in tal caso viene mappata solo una parte della texture; Cosa succede se si specificano valori di s e t esterni allintervallo 0,1? –Potremmo volere che la texture si ripeta periodicamente –Oppure potremmo clampare gli estremi ed estendere 0 ed 1 per i valori inferiori o superiori Aliasing: raramente un pixel corrisponde a una coordinata esatta dello spazio texture (a un texel)

20 20 Influenza del colore Il colore può essere modulato o coperto dalla texture

21 21 Bump mapping

22 22 Bump mapping Perturbazione della normale Funzione di bump d(u,v): Meglio perturbare la normale e non il punto:

23 23 Environmental mapping

24 24 Simula riflessioni a specchio senza ray tracing, chiamato anche reflection map Si calcola la proiezione dellambiente su una forma determinata (sfera o cubo nel caso di ambienti chiusi) La proiezione viene trattata come una texture, ma la texture viene proiettata dal punto vista dellosservatore Il programma applicativo deve calcolare la proiezione dellambiente sulla superficie intermedia (sfera o scatola)


Scaricare ppt "1 Texturing - Tessiture Daniele Marini. 2 Texture mapping 2D, 3D o 4D La texture è una qualsiasi immagine Loperazione di mapping trasferisce limmagine."

Presentazioni simili


Annunci Google