BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in...

20
BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale dott.ing.jun Alex Zupan – [email protected]

Transcript of BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in...

Page 1: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

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]

Page 2: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

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’è?

Page 3: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

Esempio

3840 facce – Bump Mapped

8589 faces

Page 4: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

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

Page 5: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

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.

Page 6: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

Tipi: Emboss Bump Mapping

Texture principale Bump map – mappa della luminosità

Esempio

Page 7: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

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.

Page 8: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

Tipi:

Environment Map Bump Mapping

Texture principaleBump map – mappa delle altezze

Page 9: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

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.

Page 10: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

Tipi: Dot3 Bump Mapping

Texture principale Bump map – Normal map - mappa delle normali

Esempio 2

Page 11: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

Dot3 Bump Mapping

In dettaglio…

Esegue il prodotto scalare tra la normale ed il vettore della luce per ogni pixel.

Page 12: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

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

Page 13: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

Lighting 2/2

Gouraud shading Dot3 Bump Mapping

Page 14: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

I due vettori : Light Vector Normal Vector

Devono esere definiti nello sesso spazio di coordinate! View space World space Model space …

Dot3 Bump Mapping

Page 15: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

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

Page 16: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

Tangent Space 2/2

SxT

S

T

T

Per eseguire il prodotto scalare: necessario esprimere il Light Vector in questo spazio di coordinate.

Page 17: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

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.

Page 18: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

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

Page 19: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

Conclusioni personali

Dopo un attento studio di fattibilità: ho capito la teoria

Futuri sviluppi: esame: realizzazione esempio.

Page 20: BUMP MAPPING [ PER-PIXEL LIGHTING ] Università degli studi di Trieste Laurea Specialistica in Ingegneria Informatica Corso: Elementi di grafica digitale.

GRAZIE PER L’ATTENZIONE.

Fine