50
Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof. Roberto Pirrone 16 giugno 2011

Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Embed Size (px)

Citation preview

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica

Ray Tracing

Prof. Roberto Pirrone

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Sommario

Generalità

Algoritmo di Whitted

Tecniche di ottimizzazione dell’algoritmoItem buffers

Mappe di riflessione

Controllo adattivo della profondità di ricorsione

Light buffers

Ray space subdivision

Gestione antialiasingTecniche UAS

Ray tracing stocasticoPath ray tracing

Distributed ray tracing

Two-pass ray tracing

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Generalità sul ray tracing

Il ray tracing (Whitted 1980) è un algoritmo ricorsivo che valuta come un raggio propagato attraverso un pixel si riflette e/o trasmette attraverso tutti gli oggetti della scena.

Un punto è illuminato con un modello che estende la classica equazione di illuminamento al contributo, valutato ricorsivamente, dei raggi riflessi dalle superfici circostanti e di quelli trasmessi attraverso superfici trasparenti che stano davanti al punto.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Albero di ray-tracing16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Traccia dell’algoritmo16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Traccia dell’algoritmo16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Traccia dell’algoritmo16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Esempio di Ray tracing16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Esempio di Ray tracing16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Esempio di Ray tracing16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Esempio di Ray tracing16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Esempio di Ray tracing16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Esempio di Ray tracing16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Esempio di Ray tracing16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Esempio di Ray tracing16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Esempio di Ray tracing16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Tecniche di ottimizzazione del ray-tracing

Onere computazionale per l’albero relativo ad un pixel con profondità n ed m sorgenti luminose:

2n-1 raggi riflessi e rifrattim(2n-1) raggi ombra

Si rendono necessarie delle tecniche di riduzione dell’onere computazionale.

Item buffersMappe di riflessioneControllo adattativo della profonditàLight buffersRay space subdivision

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Item buffers

Weghorst, Hooper & Greenberg (1984)

Lo item buffer è una lista di visibiltà degli oggetti per il percorso di un dato raggio, ottenuta con un algoritmo DSV, tipicamente lo z-buffer.

Ad ogni pixel viene memorizzato l’oggetto più vicino che è, poi, l’unico usato per il calcolo dell’intersezione con il raggio primario dal punto di vista.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Mappe di riflessione

Hall (1986)

La mappa di riflessione viene utilizzata per quegli oggetti, non direttamente visibili dall’osservatore, che danno contributo alla riflessione globale sulla superficie del punto considerato.

La mappa viene usata solo per gli oggetti la cui dimensione, vista dal punto che deve essere reso, è inferiore ad una certa soglia: tipicamente si usa l’angolo solido sotteso da un oggetto rispetto al punto da rendere.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Controllo adattativo della profondità

Hall (1983)

Si assume che i raggi secondari abbiano intensità normalizzata unitaria e si calcola, di volta in volta, il contributo combinato dei raggi riflessi, al crescere della profondità dell’albero:

Quando questo contributo va al di sotto di una certa soglia, si blocca la ricorsione.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Light Buffers

Per ogni sorgente luminosa si definisce una griglia cubica che delimita vari fasci piramidali di raggi (light buffers).

Si effettua un depth sort per tutti i poligoni che hanno intersezione non vuota con un fascio di emissione

La lista ordinata si usa per vedere se effettivamente un punto colpito da un raggio è in ombra rispetto alla sorgente.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Ray space subdivision

Arvo & Kirk (1987)

È molto simile all’uso dei light buffers e usa lo stesso strumento computazionale: il direction cube.

Viene introdotto il concetto di beam: cioè una piramide di raggi con vertice in un punto (x,y,z) interno al direction cube, definita dalla particolare cella del cubo da cui i raggi sono emessi.

I raggi sono definiti in 5 dimensioni dalle coordinate (x,y,z,u,v) in cui (x,y,z) definiscono le coordinate dell’origine del raggio, mentre (u,v) sono le coordinate del pixel della faccia da cui il raggio si propaga.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Ray space subdivision

Un raggio contiene anche un’etichetta che individua la faccia da cui esce.

L’algoritmo lavora direttamente in uno spazio a 5 dimensioni in cui un raggio è solo un punto.

Per ogni faccia del cubo di direzioni viene creato un iper-cubo di raggi che viene suddiviso con un iper-octree, cioè un albero di partizione dello spazio in 5D, in base alla sua occupazione da parte dei vari oggeti della scena.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Ray space subdivision

A partire dalla suddivisione dello spazio si costruiscono delle liste di oggetti candidati all’intersezione con i beam determinati per una certa faccia del direction cube.

La comodità dell’approccio è che in 5D i beam non si intersecano, mentre le piramidi che questi definiscono in 3D si sovrappongono. Quindi in 5D lo spazio si può suddividere usando una tecnica di partizione binaria.

Per contro, bisogna effettuare la determinazione degli oggetti candidati in 3D intersecandoli con i volumi poliedrici dei beam.

Per ridurre l’onere computazionale i beam sono approssimati con coni e vengono confrontati con le sfere includenti gli oggetti.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Gestione del anti-aliasing

Il problema del aliasing nel ray-tracing deriva principalmente dal fatto che da ogni pixel si proietta un solo raggio.

Esistono due approcci alla gestione del anti-aliasing:

Tecniche di tracciamento di fasci di raggi per ogni pixel (che ottengono un anti-aliasing UAS)Tecniche statistiche di campionamento dei pixel (che risolvono anche problematiche, come la resa della penombra, della profondità di campo e così via)

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Beam tracing

Heckbert & Hanrahan (1984)

Questo approccio usa la coerenza di raggi vicini cioè il fatto che un raggio e tutti i suoi vicini seguiranno lo stesso cammino ed avranno intersezione con gli stessi poligoni

Si insegue il percorso di un beam, definito inizialmente come l’intero volume di vista, e tracciato con un algoritmo ricorsivo.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Beam tracingI poligoni della scena vengono ordinati secondo un criterio di profondità.

Ad ogni intersezione con un poligono si sottrae dal beam la porzione che interseca il poligono usando l’algoritmo di Weiler-Atherton.

Viene così generato un albero di intersezioni.

Le sezioni dei beam possono divenire concave, disconnesse o avere buchi.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Beam Tracing

Ad ogni intersezione si generano ricorsivamente il beam riflesso e quello rifratto.

La direzione del beam rifratto è approssimata linearmente anche se l’angolo di rifrazione varia spazialmente in modo non lineare.

I nuovi beam avranno la sezione trasversale del poligono sottratto.

Ogni rifrazione/riflessione avviene in coordinate locali del beam (la sez. trasversale è ortogonale all’asse z).

Si usa Atherton-Weiler-Greenberg per le ombre.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Pencil tracing

Shinya & Takahashi (1987)

Variante del metodo precedente in cui si considera un pencil come un raggio di riferimento (raggio assiale) ed un insieme di raggi vicini (raggi parassiali).

Un raggio parassiale è definito in 4D, rispetto al raggio assiale, come l’intersezione con un piano ortogonale al raggio assiale più la direzione del raggio parassiale stesso.

Fintanto che l’angolo di apertura del pencil si mantiene piccolo, le trasformazioni dal raggio assiale a quelli parassiali sono lineari e definite da matrici 4x4 che possono essere usate per il tracciamento dei raggi parassiali.

E’ fornita anche una tecnica di stima dell’errore commesso e di vincolo sull’angolo di apertura del pencil.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Tecniche stocastiche

Le tecniche stocastiche partono dall’assunto che l’aliasing può essere ridotto attraverso un sovra-campionamento probabilistico, e quindi non regolare del pixel attraverso i raggi che passano per esso.

In questo modo gli artefatti “regolari” prodotti dall’aliasing vengono sostituiti da rumore, meno percepibile dall’occhio, che contribuisce alla determinazione di contorni netti.

Tali tecniche consentono, inoltre, di integrare in un unico approccio una serie di interessanti effetti, quali la penombra.

16 giugno 2011

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

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Analisi di Monte Carlo

Le tecniche stocastiche usano l’analisi di Monte Carlo per risolvere la forma più generale di equazione di illuminamento, detta equazione di rendering (Kajiya 1986):

g(x,x’): termine di visibilità, pari a 0 se i due punti sono occlusi, altrimenti 1/r2 (r: distanza tra x e x’)

e(x,x’): intensità luminosa emessa da x’ verso x

r(x,x’,x”): intensità luminosa riflessa (in forma diffusa e speculare) dal punto x’ verso x che arriva dalla direzione del generico punto x”

16 giugno 2011

Page 32: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Analisi di Monte Carlo

Si consideri la valutazione di un’integrale:

ξ sia un generico campione e si valuti f(x), stimatore primario, la cui varianza è:

Per N campioni, si può mostrare che la varianza dello stimatore secondario (migliore approssimazione dell’integrale) è:

16 giugno 2011

Page 33: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Campionamento “stratificato”

Il campionamento stratificato è quello in cui i campioni sono presi su intervalli uniformemente distribuiti

16 giugno 2011

Page 34: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Campionamento per importanza

Si usa la distribuzione di probabilità dei campioni per pesarne la posizione

16 giugno 2011

Page 35: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Path Ray Tracing

Kajiya (1986)

L’idea base è che l’equazione di illuminamento usata da Whitted sia una semplificazione dell’equazione di rendering in cui il termine integrale sia sostituito da un’operatore lineare M.

16 giugno 2011

Page 36: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Path Ray tracing

La formulazione precedente porta ad un’analisi di Monte Carlo in cui, per ogni pixel, vengono proiettati più raggi.

Ogni raggio viene seguito nel suo percorso casuale di riflessioni e/o rifrazioni, nonché si considera, ad ogni intersezione, la componente di illuminamento ottenuta direttamente dalla(e) sorgente(i) luminosa(e).

Il percorso termina ad una data profondità (la serie viene troncata con una certa approssimazione).

Ad ogni intersezione l’equazione computa tutto il contributo di riflessione diffusa, speculare e rifrazione.

16 giugno 2011

Page 37: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Path Ray Tracing

Ad ogni intersezione viene emesso un solo raggio attraverso una variabile statistica che che usa una distribuzione di probabilità basata sulla BRDF che è stata campionata attraverso i fasci di raggi emessi da ciascun pixel. (40 raggi/pixel che campionano la BRDF circa 20h per 512x512 pixel).

16 giugno 2011

Page 38: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Distributed Ray tracing

Cook (1986)

Il pixel viene suddiviso in una griglia di 4x4 areole e da ogni areola si proietta un raggio.

La distribuzione dei raggi è affetta da jittering, cioè le posizioni dei raggi si discostano casualmente dai centri delle areole. Viene usata una distribuzione di Poisson in cui si fa in modo che i centri dei singoli raggi non siano più vicini di una soglia minima.

16 giugno 2011

Page 39: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Distributed Ray tracing

Modello di camera con apertura finita

Profondità di campo

Motion blur

Campionamento stratificato per i raggi attraverso il pixel, sulla lente e sui punti della superficie luminosa

Campionamento per importanza sui lobi di riflessione dei raggi sulle superfici.

16 giugno 2011

Page 40: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Distributed Ray tracingOgni raggio proveniente dalla i-esima areola del pixel mantiene l’indice i per tutte le riflessioni durante il percorso cioè mantiene la sua posizione relativa ad ogni riflessione.

Le funzioni di riflessione sono riportate in tabelle pre-calcolate in funzione dell’indice del raggio e rispettano il campionamento per importanza per la distribuzione dei raggi emanati da un pixel.

Le tabelle possono essere bidimensionali, indicizzate anche con l’angolo di incidenza per tener conto di funzioni di riflessione dipendenti da tale parametro.

16 giugno 2011

Page 41: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Distributed Ray tracing

Caratteristiche dell’algoritmo:La distribuzione stocastica dei raggi primari genera un comportamento anti-aliasingLa distribuzione stocastica dei raggi riflessi consente di inserire eventuali sfocature nella riflessioneLa distribuzione stocastica dei raggi trasmessi consente di ottenere l’effetto di materiale traslucidoLa distribuzione stocastica dei raggi d’ombra consente di generare le penombreLa distribuzione stocastica delle origini dei raggi primari sulla lente consente di variare l’effetto di profondità di campo.La distribuzione stocastica dei raggi nel tempo consente di ottenere il motion blur (si spaziano i raggi secondo la traiettoria dell’oggetto in movimento, addensandoli verso la posizione finale)

16 giugno 2011

Page 42: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Distributed Ray tracing

Esempio di profondità di campo Esempio di motion blur

16 giugno 2011

Page 43: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Two Pass Ray Tracing

Arvo (1986)

Usato per ben simulare le chiazze intense di riflessione di una superficie speculare su una diffusa (caustics), quindi quando si hanno molti raggi secondo il percorso LSDE: Light-Specular-Diffuse-Eye.

16 giugno 2011

Page 44: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Two Pass Ray Tracing

Al primo passo si seguono le riflessioni dei raggi a partire dalla sorgente luminosa.

Al momento di una riflessione su una superficie diffusa l’energia incidente viene accumulata su una light map che è, sostanzialmente, una mappa di riflessione indicizzata per mezzo del punto P di riflessione.

Al secondo passo si seguono i raggi dal punto di vista e, quando un raggio incide su P, il suo contributo di illuminazione extra viene computato dalla mappa.

Questa tecnica è l’unica che consente di riprodurre i caustics: l’algoritmo convenzionale non peserebbe a sufficienza il contributo di riflessione speculare a partire dalla superficie matta verso quella riflettente.

16 giugno 2011

Page 45: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Two Pass Ray Tracing16 giugno 2011

Page 46: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Two Pass Ray Tracing

Ray tracing convenzionale

16 giugno 2011

Page 47: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Two Pass Ray Tracing

Two Pass Ray tracing: 200 raggi emessi dalla sorgente

16 giugno 2011

Page 48: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Two Pass Ray Tracing

Two Pass Ray tracing: 400 raggi emessi dalla sorgente

16 giugno 2011

Page 49: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Two Pass Ray Tracing

Two Pass Ray tracing: 800 raggi emessi dalla sorgente

16 giugno 2011

Page 50: Informatica Grafica a.a. 2010-2011 DICGIM – University of Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica e Meccanica Ray Tracing Prof

Informatica Grafica a.a. 2010-2011

DICGIM – University of Palermo

Two Pass Ray Tracing

Two Pass Ray tracing: 1000 raggi emessi dalla sorgente

16 giugno 2011