BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in...
-
Upload
donata-forti -
Category
Documents
-
view
215 -
download
0
Transcript of BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in...
BUMP MAPPING[ PER-PIXEL LIGHTING ]
Università degli studi di TriesteLaurea Specialistica in Ingegneria Informatica
Corso: Elementi di grafica digitale
dott.ing.jun Alex Zupan – [email protected]
Tecnica di ombreggiatura che utilizza texture multiple ed effetti di luce:
aggiunge dettagli ad oggetti formati da pochi poligoni
simula superfici corrugate o dissestate.
Cos’è?
Esempio
3840 facce – Bump Mapped
8589 faces
Ne esistono 3 tipi principali: Emboss Bump Mapping Environment Map Bump Mapping Dot3 Mapping
In comune utilizzano: Texture principale Texture aggiuntiva detta Bump Map.
Tipi di Bump
Tipi: Emboss Bump Mapping
• La bump map è una texture monocromatica che è la mappatura luminosa della texture principale .
• Riapplicandola sulla texture principale mediante il canale alfa, che gestisce la trasparenza dei pixel, si ottiene la texture finale.
• Questo metodo di bump mapping è stato il primo realizzato.
• La resa qualitativa non è eccellente.
Tipi: Emboss Bump Mapping
Texture principale Bump map – mappa della luminosità
Esempio
Tipi:
Environment Map Bump Mapping
• Utilizza 3 texture diverse: • La texture di base • una bump map – mappa delle altezze • una environment map - riflessi
• L'environment map è la matrice che contiene una semplice mappa di illuminazione, ma può contenere anche altri effetti da applicare.
• Alla fine, quando le 3 texture sono combinate insieme.
Tipi:
Environment Map Bump Mapping
Texture principaleBump map – mappa delle altezze
Tipi: Dot3 Bump Mapping
Dot3 Mapping o Dot Product Perturbed Bump Mapping o Per-pixel lighting.
Bump map - normal map, mappa vettori 3D, o normali (rette perpendicolari).
Si esegue il prodotto scalare tra la normale ed il vettore della luce per ogni pixel.
Il risultato indica l'intensità di riflessione della luce per quel pixel.
È la tecnica più efficace.
Tipi: Dot3 Bump Mapping
Texture principale Bump map – Normal map - mappa delle normali
Esempio 2
Dot3 Bump Mapping
In dettaglio…
Esegue il prodotto scalare tra la normale ed il vettore della luce per ogni pixel.
Calcolo luminosità di un punto, necessita: N: vettore direzione della normale di quel punto. L: light vector (tra il punto sulla superfice e la fonte di
luce)
Formula matematica essenziale:
luminosità = N dot L = N·L
Lighting 1/2
Lighting 2/2
Gouraud shading Dot3 Bump Mapping
I due vettori : Light Vector Normal Vector
Devono esere definiti nello sesso spazio di coordinate! View space World space Model space …
Dot3 Bump Mapping
Spazio di coordinate locali. Semplifica le operazioni. Definito per ogni vertice di un set di geometrie. L’asse Z del Texture Space è parallelo alla normale di quel
vertice . X e Y arbitrari.
Utilizzando ad es. Il world space, dovremmo rigenerare la bump map ogni volta che l’oggetto viene mosso!
Tangent Space 1/2
Tangent Space 2/2
SxT
S
T
T
Per eseguire il prodotto scalare: necessario esprimere il Light Vector in questo spazio di coordinate.
Matrice TBN
Le tangenti S e T e la normale SxT formano una base. Definiscono lo spazio di coordinate "tangent space". La matrice TBN permette (Tangent Binorm Normal):
( Sx Sy Sz )( Tx Ty Tz )( Nx Ny Nz )
Moltiplicando un vettore definito in object space con questa matrice, si ottiene il vettore espresso in tangent space.
Normal Map
È una mappa (texture) a colori, dove: Il rosso codifica l’asse “sinistra-destra” della normale Il verde codifica l’asse “su-giù” Il blu codifica l’ altezza
Conclusioni personali
Dopo un attento studio di fattibilità: ho capito la teoria
Futuri sviluppi: esame: realizzazione esempio.
GRAZIE PER L’ATTENZIONE.
Fine