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

31
Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici Prof. Roberto Pirrone 9 giugno 2011

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

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica

Effetti fotorealistici

Prof. Roberto Pirrone

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Sommario

Generalità

Texture mappingAlgoritmo di Fleibush-Levoy-Cook

Mip-map

Summed area table

Bump mapping

Ombre proiettateAlgoritmo scan-line

Algoritmo di Atherton-Wieler-Greenberg

Volumi d’ombra

Z-buffer shadow

Determinazione delle aree di penombra

TrasparenzaBlending

Screen-door

Algoritmo di Mammen

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Generalità

Una scena resa solamente attraverso lo shading presenta un grado di realismo modesto.

Per ottenere un elevato grado di realismo si può:

Applicare delle trame o tessiture alle superficiCreare rugosità sulla superficieApplicare le ombre tra gli oggettiTenere conto della trasparenza delle superficiTener conto delle riflessioni tra oggetti

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Texture mapping

Il processo di texture mapping consiste nell’applicare un’immagine (texture map) definita in un proprio spazio di coordinate (u,v) sui poligoni della superficie, eventualmente ripetendola su tutta la superficie.

Per diminuire l’onere computazionale si effettua il mapping inverso dai pixel dell’immagine a quelli dello spazio della texture map.

La trasformazione complessiva tiene conto della proiezione sullo schermo e di una legge di mappatura della tetxure su un singolo poligono (definizione esplicita delle texture coordinates di ogni vertice).

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Texture mapping9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Texture mapping

Il procedimento di mapping inverso è analogo a quello visto per le tecniche di warping.

L’interpolazione è basata sul filtraggio spaziale dell’immagine di ingresso scegliendo un’opportuna maschera di convoluzione per pesare i pixel della texture che ricadono nel quadrilatero in cui il pixel viene trasformato.

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Algoritmo di Fleibush-Levoy-Cook9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Algoritmo di Fleibush-Levoy-Cook

Si sceglie una maschera di convoluzione, tipicamente molto piccola: di solito si usa una gaussiana con supporto circolare e raggio 2 pixel.

Ripeti per ogni pixel dello spazio destinazione interno all’immagine trasformata

Mappa nello spazio sorgente tutto il rettangolo includente il supporto del filtro centrato sul pixelConsidera il minimo rettangolo che include il quadrilatero ottenuto nello spazio sorgenteIl rettangolo viene sottoposto a clipping con gli estremi dell’immagine sorgente // textureTrasforma i pixel dell’immagine sorgente interni al rettangolo clippato, usando la trasformazione diretta, verso l’immagine nello spazio destinazione ottenendo un quadrilateroScarta i pixel che ricadono all’esterno del rettangolo includente il supporto del filtro centrato sul pixel destinazioneSe il rettangolo includente il supporto del filtro ha intersezione non vuota con l’immagine stessa, allora

il valore del pixel si otterrà da quello calcolato, in proporzione al volume del filtro che è sotteso dall’area di

intersezione tra l’immagine ed il rettangolo includenteFine Ripeti

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Mip map

Una mip-map è una struttura dati che conserva la mappa di tessitura scalata a vari livelli.

Williams modifica l’algoritmo di Fleibush-Levoy-Cook ed individua la zona della mip map (e quindi scelta l'immagine da utilizzare) che più corrisponde al numero dei pixel della texture che ricadono nella trasformazione inversa del rettangolo includente, il filtro centrato nel pixel.

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Mip map

Williams usa un parametro D per definire la dimensione della mappa di da usare in corrispondenza ad un pixel che si mappa in un rettangolo di dimensioni ∂u x ∂v.

D=max{ [(∂u/∂x)2+(∂v/∂x)2]1/2, [(∂u/∂y)2+(∂v/∂y)2]1/2 }

∂x e ∂y sono le dimensioni del pixel, in genere unitarie.

Poiché D è continuo e le mip-maps sono discrete, si interpola linearmente tra una risoluzione e l’altra.

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Summed area table

Metodo sviluppato da Crow per effettuare un filtraggio veloce.

Il valore filtrato è uguale alla somma dei valori della texture che ricadono nel rettangolo includente il filtro.

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Metodi di texture mapping a confronto9 giugno 2011

(a) Campionamento diretto della texture; (b) mip-map;(c) Summed area table; (b) (d) mip-map e filtro gaussiano a supporto ellittico

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Bump mappingIl bump mapping è una tecnica per ottenere delle rugosità sulla superficie e consiste nel perturbare la distribuzione delle normali secondo una mappa di scostamenti verticali (bump map) B(u,v).

Blinn propone un metodo di ricalcolo delle normali perturbate a partire dalle derivate parziali Bu e Bv dello scostamento applicato.

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Ombre

L’inserimento di un’ombra nell’equazioni di illuminamento consiste nel porre dei coefficienti Si che possono valere 1 o 0 per ogni sorgente luminosa.

Si=1 implica che il punto è illuminato dalla i-esima sorgente, altrimenti no.

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Algoritmi per le ombre

Gli algoritmi per le ombre sono algoritmi di DSV eseguiti in relazione alla posizione della sorgente luminosa.

Principali approcciAlgoritmo scan-line Bouknight e KellyAlgoritmo di Atherton Wieler e GreenbergAlgoritmo di Crow dei volumi d’ombraZ-buffer shadow

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Algoritmo scan-line

Tutti i poligoni sono proiettati, per ogni sorgente, su una sfera centrata nella sorgente stessa e si eliminano le coppie di proiezioni non sovrapposte.

Si proiettano i poligoni rimasti a coppie gli uni sugli altri a partire dalla sorgente.

Considerando gli pseudo-poligoni costituiti dalle proiezioni si applica l’algoritmo scan-line di visibilità.

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Algoritmo scan-line9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Atherton Wieler Greenberg9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Volumi d’ombra

Per ogni poligono viene definito un volume d’ombra determinato dai raggi proiettori dei suoi vertici emanati dalla sorgente luminosa.

Si contano le facce back-facing e front-facing dei volumi d’ombra attraversati da un raggio proiettore emanato dalla posizione dell’osservatore per raggiungere un punto della scena.

Se queste si eguagliano allora il punto è illuminato, altrimenti è in ombra. Nel caso di osservatore in ombra bisogna aggiungere 1 al conteggio degli attraversamenti.

9 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Volumi d’ombra9 giugno 2011

Page 21: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici.

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Z-buffer shadow

Si calcola lo z-buffer classico.

Per ogni sorgente luminosa si calcola lo z-buffer ZLi(x’,y’) visto dalla sorgente i-esima e si applica la roto-traslazione osservatore sorgente per i punti visibili.

Se un punto dello z-buffer trasformato Z’(x’,y’) risulta essere tale che Z’(x’,y’)<ZLi(x’,y’) allora il punto originale P(x,y,z) è in ombra per la sorgente Li.

9 giugno 2011

Page 22: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici.

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Z-buffer shadow9 giugno 2011

Page 23: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici.

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Penombra

La penombra si ha quando un oggetto è illuminato da una sorgente luminosa non puntiforme, ma con un’estensione finita.

Ogni punto ha un livello di ombra dipendente dalla porzione di superficie occlusa dalla sorgente.

Un approccio computazionalmente costoso sarebbe quello di modellare una superficie emissiva come un insieme di sorgenti puntiformi.

9 giugno 2011

Page 24: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici.

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Penombra

Nishita e Nakamae (1985) hanno determinato un approccio per sorgenti lineari, poligonali o poliedriche convesse e per oggetti poliedrici.

Per ogni vertice della sorgente si determina il volume d’ombra che genera un oggetto della scena proiettando i suoi vertici.

Il volume d’ombra globale è l’intersezione di tutti i volumi d’ombra, mentre il volume di penombra è la chiusura convessa di tutti i volumi d’ombra.

I punti all’interno del volume di penombra sono colorati proporzionalmente alla parte di sorgente visibile: si può usare un approccio BSP-tree.

9 giugno 2011

Page 25: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici.

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Penombra9 giugno 2011

Page 26: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici.

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Trasparenza

Le tecniche di trasparenza possono essere di tipo rifrattivo e non rifrattivo. Le tecniche di tipo rifrattivo calcolano la direzione di un raggio luminoso trasmesso attraverso una superficie e sono utilizzate come parte del processo di ray-tracing.

Le tecniche non rifrattive sono dette anche tecniche di blending e riconducono il problema della trasparenza al calcolo del colore di un pixel che appartiene alla proiezione di due o più poligoni sovrapposti e non opachi, ciascuno avente un colore proprio.

9 giugno 2011

Page 27: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici.

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Trasparenza non rifrattiva

Nello scenario più semplice abbiamo due poligoni P1 e P2 e sia P1 trasparente e posto davanti a P2, opaco, rispetto alla linea di vista.

Il calcolo del colore di un pixel che ricade nell’intersezione delle proiezioni dei due poligoni sul piano dell’immagine si ottiene per combinazione dei colori originari di P1 e P2.

9 giugno 2011

Page 28: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici.

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Trasparenza non rifrattiva

Blending tra i due colori.

Il poligono trasparente filtra la luce che lo attraversa in maniera separata sui tre canali.

9 giugno 2011

Page 29: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici.

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Screen door

La tecnica di trasparenza screen-door è semplice ed efficiente.

Per simulare un effetto di trasparenza, basta disporre spazialmente mescolati pixel con il colore di P1 e pixel con il colore di P2 secondo un pattern ripetitivo binario m(u,v) {0,1}∈ .

Il grado di prevalenza dell’uno o dell’altro colore in ogni areola elementare dell’immagine determinerà il livello di trasparenza simulato.

9 giugno 2011

Page 30: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici.

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Trasparenza con z-buffer (alg. di Mammen)Esegui il DSV di tutti i poligoni opachi con lo z-buffer classico O=[o(x,y)]: o(x,y)={col, z} per ogni (x,y)Crea il buffer degli oggetti trasparenti T=[t(x,y)]:

t(x,y)={trasp, flag, col, z} per ogni (x,y)

Ripeti Ripeti per ogni (x,y) t(x,y).flag=0Ripeti per ogni y

Ripeti per ogni xSe esiste un poligono trasparente P tale che

o(x,y).z < zP(x,y) < t(x,y).z allora

t(x,y).trasp=traspP

t(x,y).flag=1 t(x,y).col=colP

t(x,y).z=zP

Fine RipetiFine RipetiRipeti per ogni (x,y)

Se t(x,y).flag=1 allorao(x,y).col=t(x,y).col*(1-t(x,y).trasp)

+o(x,y).col*t(x,y).trasp o(x,y).z=t(x,y).zt(x,y).flag=0

Fine Ripeti finché t(x,y).flag=0 per ogni (x,y)

9 giugno 2011

Page 31: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Effetti fotorealistici.

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Trasparenza rifrattiva9 giugno 2011