Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria...

20
Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping Prof. Roberto Pirrone 10 giugno 2011

Transcript of Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria...

Page 1: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica

Environment Mapping

Prof. Roberto Pirrone

10 giugno 2011

Page 2: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Sommario

Generalità

Geometria delle environment map

Mapping cubico

Mapping sfericolatitudine-longitudine

Mappa su sfera

Shadow maps

10 giugno 2011

Page 3: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Generalità

Il problema della simulazione della riflessione speculare sugli oggetti risulta molto oneroso dal punto di vista computazionale.

In generale si tratta di seguire il percorso dei raggi riflessi da ogni punto della superficie della scena verso il punto di vista, in modo da visualizzare i dettagli della scena riflessi dalla superficie (ray tracing).

Le mappe ambientali o mappe di riflessione (environment maps/ reflection maps) sono delle mappe bidimensionali, calcolate off-line, contenenti il colore di riflessione speculare di tutti i punti dell’oggetto per cui vengono determinate.

10 giugno 2011

Page 4: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Environment maps

Introdotte da Blinn e Newell (1976) e migliorate da Greene (1986).

Consentono un calcolo veloce della riflessione speculare, ma hanno i seguenti svantaggi:

Sono geometricamente corrette solo per oggetti “piccoli” rispetto alle dimensioni dell’ambiente (non si notano le distorsioni)

Vanno bene solo per oggetti convessi perché definiscono solo tutto l’ambiente intorno all’oggetto per cui sono calcolate

Ogni oggetto da rendere necessita di una mappa a parte

In alcuni casi (mapping sferico) si ha bisogno di una nuova mappa ogni volta che cambia il punto di vista.

10 giugno 2011

Page 5: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Geometria delle environment maps

Il raggio riflesso, tracciato a partire dal punto di vista, si calcola come:

R=2(N·V)N-V

La mappa è una legge di corrispondenza M(R) in un proprio sistema di coordinate locali (u,v).

10 giugno 2011

Page 6: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Geometria delle environment maps

In realtà, pixel si proietta in un’area sulla superficie e sottende un’intera regione della mappa.

Si crea una situazione tipica di texture-mapping: ciò rende interessante l’approccio dal punto di vista computazionale, nonché della gestione dell’anti-aliasing.

10 giugno 2011

Page 7: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Tipologie di mapping

Mapping cubico

Mapping su una sferaMapping latitudine-longitudineMapping sferico propriamente detto

Si può pensare di effettuare il mapping di ogni punto dell’oggetto, ovvero dei vertici di ogni poligono (di cui si conoscono le normali) e poi si esegue un’interpolazione.

10 giugno 2011

Page 8: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Mapping cubico

La mappa consiste in un cubo normalizzato di lato unitario centrato nell’oggetto da rendere.

Si ottengono sei viste ortografiche dell’ambiente osservato dal centro dell’oggetto.

Poiché un poligono può proiettarsi contemporaneamente su più facce, si procede preventivamente a suddividere i poligoni in modo tale che ognuno corrisponda ad una sola faccia.

10 giugno 2011

Page 9: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Mapping cubico

Per ogni punto (o per ogni vertice di poligono)

Calcola RCalcola la faccia intersecata

//massimo prodotto //scalare//con ogni normale //uscente

Mappa il punto P(x,y,z)// ad es. per la faccia F4// u=x+0.5// v=-z+0.5

10 giugno 2011

Page 10: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Esempio di mapping cubico10 giugno 2011

Page 11: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Confronto con il ray tracing

Env. mapping Ray tracing

10 giugno 2011

Page 12: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Mapping latitudine-longitudine

L’idea di base è quella di mappare l’ambiente su una sfera, per evitare le problematiche legate al mapping cubico (i poligoni devono corrispondere ad una sola faccia e bisogna individuare, di volta in volta la faccia giusta).

In questo caso la mappa è una sorta di planisfero ottenuto, definito per 0≤(u,v)≤1 dalle coordinate polari del raggio riflesso R(Rx,Ry,Rz).

10 giugno 2011

Page 13: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Mapping latitudine-longitudine

Si possono avere dei comportamenti indefiniti per Rz ±1.

Rx e Ry diventano piccoli ed il loro rapporto non è ben definito.

10 giugno 2011

Page 14: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Mapping latitudine-longitudine

Per ovviare al problema della deformazione indotta dalla proiezione si può usare una proiezione ad area costante cioè una proiezione che preserva le aree della sfera sulla mappa

La proiezione cilindrica di Lambert ad area costante proietta un punto di latitudine e longitudine (θ, φ) in:

u=φ - φ0, φ0: long. di riferimento

v=sin(θ)

Questa proiezione non introduce deformazione all’equatore

10 giugno 2011

Page 15: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Mapping sferico

Nel mapping sferico, l’ambiente viene riflesso su una sfera unitaria perfettamente speculare; questa viene, poi, proiettata ortograficamente sulla mappa.

In realtà, la mappa viene generata effettuando un processo di ray-tracing a partire dal piano di vista.

Per ambienti reali che devono essere resi nella scena, si può fotografare una piccola sfera riflettente posta nel punto voluto.

10 giugno 2011

Page 16: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Mapping sfericoPer ogni punto (u,v) della mappa, viene individuato il punto P sulla sfera e la corrispondente normale N.

Da N si può calcolare il vettore di riflessione R.

Per individuare un punto sulla mappa si riflette V calcolando u e v.

10 giugno 2011

Page 17: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Proprietà del environment mapping

Tramite questo processo si possono generare, usando l’equazione di Phong, anche le mappe dei contributi di illuminamento diffuso sulla superficie di un oggetto, ovvero si possono determinare dei particolari effetti di riflessione tramite tecniche di filtraggio.

La tecnica di mapping può essere utilizzata anche per il calcolo delle ombre con l’algoritmo shadow z-buffer.

Le mappe di riflessione consentono il rapido inserimento ed animazione di un oggetto in una scena già renderizzata o, meglio ancora, di un oggetto artificiale nella riproduzione di una scena reale.

10 giugno 2011

Page 18: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Environment map filtrata

Blurring della mappa per simulare un effetto di opacità della superficie (scattering).

10 giugno 2011

Page 19: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Shadow mapping

Z-buffer map dal punto di vista Le sei shadow maps viste dalla sorgente luminosa calcolate con z-buffer shadow

10 giugno 2011

Page 20: Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Environment Mapping.

Infomatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Shadow map e environment map

Env map + shadow map Shadow map + env map

10 giugno 2011