Corso: Elementi di grafica digitale
Università degli studi di Trieste
Laurea Specialistica in Ingegneria Informatica
BUMP MAPPING
[ PER-PIXEL LIGHTING ]
dott.ing.jun Alex Zupan – [email protected]
Cos’è?

Tecnica di ombreggiatura che utilizza texture multiple
ed effetti di luce:


aggiunge dettagli ad oggetti formati da pochi
poligoni
simula superfici corrugate o dissestate.
Esempio
3840 facce – Bump Mapped
8589 faces
Tipi di Bump

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:
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 principale
Bump 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.
Lighting 1/2


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 2/2
Gouraud shading
Dot3 Bump Mapping
Dot3 Bump Mapping


I due vettori :

Light Vector

Normal Vector
Devono esere definiti nello sesso spazio di coordinate!

View space

World space

Model space

…
Tangent Space 1/2






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 2/2
SxT
T
T
S

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.
Fine
GRAZIE PER L’ATTENZIONE.
Scarica

Bump Mapping by Alex Zupan