Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria...
-
Upload
edda-dolce -
Category
Documents
-
view
213 -
download
0
Transcript of Infomatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria...
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
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
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
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
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
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
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
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
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
Infomatica Grafica a.a. 2010-2011
DICGIM – University of Palermo
Esempio di mapping cubico10 giugno 2011
Infomatica Grafica a.a. 2010-2011
DICGIM – University of Palermo
Confronto con il ray tracing
Env. mapping Ray tracing
10 giugno 2011
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
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
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
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
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
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
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
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
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