+ All Categories
Home > Documents > Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione...

Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione...

Date post: 02-May-2015
Category:
Upload: loris-alfieri
View: 214 times
Download: 0 times
Share this document with a friend
27
Photon Mapping Daniele Marini
Transcript
Page 1: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Photon Mapping

Daniele Marini

Page 2: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Global Illumination

• Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo

• Principali approcci:– Elementi finiti (es. radiosity)– Campionamento puntiforme (es. ray tracing)

Page 3: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Photon Mapping

• Ideato da Henrik Wann Jensen

• Sviluppato sui modelli statistici Montecarlo

• Algoritmo in due passi– Emissione fotoni dalle sorgenti– Rendering

Page 4: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Algoritmo

• Passo 1:– Emissione di fotoni dalle sorgenti di luce e

tracciamento all’interno della scena– Creazione della mappa 3D di fotoni

• Passo 2:– Rendering della scena utilizzando le

informazioni contenute nella mappa di fotoni per la stima della radianza riflessa sulle superfici

Page 5: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Algoritmo

• Passo 1:photon tracing

• Passo 2:rendering

Page 6: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Algoritmo: Passo 1

• Emissione– Emissione dei fotoni dalla sorgenti di luce

– Solitamente bisogna emettere più di 10.000 fotoni

• Scattering– Determinare come i fotoni vengono dispersi,

all’interno della scena

• Storing– Salvataggio delle informazioni sui fotoni assorbiti dalle

superfici diffusive

Page 7: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Passo 1: Emissione

• L’energia associata alla sorgente viene divisa sui fotoni emessi

• Possono essere simulate diverse tipologie di luci

Puntiforme Sferica Quadrata Forma generica

Page 8: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Passo 1: Scattering

• Quando un fotone colpisce una superficie può essere:– Riflesso

– Trasmesso

– Assorbito

Page 9: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Passo 1: Scattering

• Il tipo di scattering può essere deciso tramite il metodo della Roulette russa:

toassorbimen ]1,[

speculare eriflession ],[

diffusa eriflession ],0[

:regolala secondo Scelgo

1

speculare eriflession di probabiltà ]1,0[

diffusa eriflession di probabiltà ]1,0[

casuale e variabil]1,0[

sd

sdd

d

sd

s

d

pp

ppp

p

pp

p

p

+∈+∈

≤+∈∈

ξξξ

ξ

Page 10: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Passo 1: Storage

• I fotoni assorbiti vengono salvati nella Photon map– Energia– Posizione – Direzione incidente

• Serve una struttura dati adeguata

Page 11: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Passo 1: Storage

• Per memorizzare la mappa dei fotoni si utilizza un kd-tree (suddivisione spaziale 3D della scena)

• A ogni nodo corrisponde un piano di suddivisione ortogonale agli assi

• il sottoalbero sinistro contiene fotoni nel semispazio negativo rispetto al piano, il destro conteine fotoni nel ssemispazio positivo

• Il kd-tree può essere bilanciato, considerata la coerenza della luce nella scena

• Il kd-tree può essere esplorato in O(logN)

Page 12: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Passo 1: Storage

• Vengono utilizzate diverse mappe– Global map

• Riflessioni diffuse

– Caustics map• Generate lanciando fotoni direttamente su superfici

lucide e riflettenti

• Molti campioni in una piccola area

– Mezzi partecipanti

Page 13: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Caustiche

Page 14: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Caustiche

• Inviluppo di una famiglia di raggi di luce

QuickTime™ e undecompressore

sono necessari per visualizzare quest'immagine.

Page 15: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Passo 1: Storage

Scena Photon Map

Page 16: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Passo 2: Rendering

• L’informazione contenuta nella mappa viene usata per stimare la radianza riflessa

• Un numero N di fotoni viene considerato per la stima nel punto x

Page 17: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Passo 2: Rendering

• L’integrale dell’equazione del rendering viene diviso in 4 componenti– Illuminazione diretta– Speculare– Indiretta– Caustiche

Page 18: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Photon Mapping

• Equazione del rendering

∫Ω

′⋅′′′+= wdnwwxLwwxfwxLwxL irer

rrrrrrrr))(,(),,(),(),(

x

w

w’

Page 19: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Equazione del rendering

• Suddivido le componenti speculare e diffusiva della BRDF

• Suddivido il termine di radianza incidente tenendo conto dei contributi di:– Luce diretta

– Caustiche

– Luce indiretta

),,(),,(),,( ,, wwxfwwxfwwxf DrSrr

rrrrrr ′+′=′

),(),(),(),( ,,, wxLwxLwxLwxL dicilii ′+′+′=′ rrrr

Page 20: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Equazione del rendering

=′⋅′′′+= ∫Ω

wdnwwxLwwxfwxLwxL irerrrrrrrrr

))(,(),,(),(),(

Ω

Ω

Ω

Ω

′⋅′′′

+′⋅′′′

+′⋅′′+′′

+′⋅′′′+

wdnwwxLwwxf

wdnwwxLwwxf

wdnwwxLwxLwwxf

wdnwwxLwwxfwxL

diDr

ciDr

diciSr

lire

rrrrrr

rrrrrr

rrrrrrr

rrrrrrr

))(,(),,(

))(,(),,(

)))(,(),()(,,(

))(,(),,(),(

,,

,,

,,,

,Illuminazionediretta

Riflessionispeculari

Caustiche

Illuminazioneindiretta

Page 21: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Calcolo della radianza

Illuminazione diretta

Riflessioni speculari

Illuminazione indiretta

Caustiche

Ray tracing

Monte Carlo Ray tracingcon importance samplingbasato su fr,S

Caustics Photon Map

Global Photon Map

Page 22: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Stima della radianza

• Ad ogni fotone viene associato un flusso

• La stima della radianza in un punto avviene considerando N campioni selezionati nell’intorno di raggio r del punto x

),(),,(1

),(1

2p

N

p

pprr wxwwxfr

wxL ∑=

ΔΦ=π

)( pp wΔΦ

Page 23: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Stima della radianza

Page 24: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Esempi Rendering

Ray tracing

Page 25: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Esempi Rendering

Ray tracing + ombre sfumate

Page 26: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Esempi Rendering

+ caustiche

Page 27: Photon Mapping Daniele Marini. Global Illumination Necessità di simulare effetti di illuminazione globali per ottenere un maggior grado di realismo Principali.

Esempi Rendering

+ global illumination


Recommended