La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

RADIOSITY Algoritmo di calcolo della luce realistica DENIS COSSUTTA LAUREA SPECIALISTICA INGEGNERIA INFORMATICA A.A. 2005/2006.

Presentazioni simili


Presentazione sul tema: "RADIOSITY Algoritmo di calcolo della luce realistica DENIS COSSUTTA LAUREA SPECIALISTICA INGEGNERIA INFORMATICA A.A. 2005/2006."— Transcript della presentazione:

1 RADIOSITY Algoritmo di calcolo della luce realistica DENIS COSSUTTA LAUREA SPECIALISTICA INGEGNERIA INFORMATICA A.A. 2005/2006

2 INTRODUZIONE meccanismo ray tracing utilizzato per modellare la riflessione speculare e la rifrazione senza dispersione, facendo uso di una luce ambientale non direzionale, che tiene conto di tutti i contributi dellilluminazione globale e le radiazioni e le riflessioni tra oggetti? tutta lenergia emessa o riflessa da ogni superficie è responsabile della sua riflessione e dellassorbimento da parte di altre superfici radiosity = somma dei rapporti in base ai quali la superficie emette energia, riflettendola e trasmettendola ad ogni altra superficie

3 RADIOSITY le superfici considerate nel metodo di radiosity possono emettere luce, a differenza di quelle considerate nel ray tracing: ognuna di esse può essere modellata come una sorgente luminosa estesa, avente unarea finita Il termine radiosità indica la quantità di energia che lascia una superficie, data dalla somma della quantità di energia che emette essa stessa e la quantità di energia ricevuta da altre superfici che riflette metodo radiosity – modello di illuminazione fisico che assume che tutte le superfici siano dei riflettori di luce diffusa costante e che le interazioni tra di esse si risolvano usando equazioni lineari. La soluzione di questo sistema di equazioni lineari è loutput finale che può essere usato per renderizzare le superfici della scena

4 RADIOSITY Il metodo considera la suddivisione o tessellamento dellambiente in un numero finito di elementi di dimensione limitata, chiamati patch, ognuno dei quali emette e riflette luce in modo uniforme sullintera area una singolo patch emana : luce diretta e/o indiretta luce diretta : luce che loggetto riceve direttamente dalla sorgente luminosa luce indiretta : luce riflessa su un oggetto da altri oggetti

5 RADIOSITY : equazione generale negli altri algoritmi la luce veniva trattata separatamente dalle superfici che illuminava il radiosity permette a qualsiasi superficie di emettere luce, in modo che tutte le sorgenti di luce vengono considerate come se avessero unarea ipotizziamo di suddividere lambiente in un numero finito n di patch di area finita, che emettono e riflettono luce uniformemente in tutta la loro area. Si ha che per ogni patch i:

6 RADIOSITY : equazione generale dove: B i è la radiosità totale emessa dalla superficie i E i è la luce emessa propriamente dalla superficie i ρ j è un valore adimensionale e corrisponde al valore di riflettenza della superficie che determina la frazione dellenergia totale incidente rflessa dalla superficie i B j A j è lenergia totale emessa dalla superficie j con area A j (radiosità per area) F j-i è la frazione di energia che lascia la superficie j e che investe la superficie i. Questo valore tiene conto della forma e dellorientamento di ogni superficie ed è chiamato fattore di forma

7 RADIOSITY : equazione generale lequazione indica la relazione esistente tra lenergia emessa da una superficie unitaria e lenergia entrante nella superficie unitaria, vista come somma della luce direttamente emessa e della luce riflessa la luce riflessa viene determinata calcolando, rispetto al coefficiente di riflessione della patch, la somma della luce incidente, che non è altro che la somma della luce che lascia ununità di area della patch j-esima e che raggiunge la patch i-esima

8 RADIOSITY : equazione generale - semplificazione In ambienti diffusi vale la seguente relazione di reciprocità tra i fattori di forma F i-j F j-i : F i-j A i = F j-i A j Si ottiene quindi la seguente formula finale:

9 RADIOSITY : equazione generale – forma matriciale in questo modo, risolvendo il sistema, troviamo la radiosità per ogni patch che può essere resa da qualsiasi punto di vista con un qualsiasi algoritmo di visualizzazione una volta ottenuto il valore di radiosity della patch, si possono calcolare i valori per ogni vertice. I casi sono due: - se un vertice è allinterno di una superficie, gli viene assegnato il valore medio della radiosità delle patch che lo condividono - se il vertice è sui bordi della superficie, si trovano le patch che lo condividono e il vertice interno piu vicino. Poi si confrontano la media della radiosità della patch con la media della radiosità dei due vertici

10 RADIOSITY : esempio Si consideri la figura sottostante: la radiosità del vertice e è data da : B e =(B 1 + B 2 + B 3 + B 4 )/4 per calcolare la radiosità del vertice b sui bordi per prima cosa si deve trovare il vertice interno più vicino che in questo caso è e. Poi si impone (B b + B e )/2=(B 1 + B 2 )/2 da cui si ricava B b =B 1 + B 2 - B e per calcolare la radiosità del vertice a sui bordi, prima si deve trovare il vertice interno più vicino che in questo caso è e. Poi si impone (B a + B e )/2= B 1 da cui si ricava B a =2B 1 - B e

11 RADIOSITY : calcolo dei fattori di forma I fattori di forma rappresentano la misura di quanta luce proveniente dalla patch j colpisce una patch i Cohen e Greenberg implementarono un algoritmo per approssimare i form factors

12 RADIOSITY : calcolo dei fattori di forma Il fattore di forma da unarea differenziale dA i ad unarea differenziale dA j, dove H ij può assumere valori 0 o 1 a seconda che dA j sia visibile o meno da dA i è data da:

13 RADIOSITY : calcolo dei fattori di forma Per determinare F di,j, cioè il fattore di forma da unarea differenziale dA i ad unarea finita A j, integriamo sullarea della patch j In questo modo il form factor da A i ad A j è larea media dellequazione precedente sulla patch i

14 RADIOSITY : approssimazione dei form factors se noi assumiamo il punto centrale di una patch come rappresentante di tutti gli altri suoi punti, possiamo approssimare F i,j con F di,j, computato per dA i nel centro della patch i-esima Alcuni studiosi hanno cercato un modo più semplice per calcolare F di,j Nusselt ha mostrato che questa quantità si può calcolare mediante due proiezioni successive: innanzitutto bisogna proiettare quelle parti di A j che sono visibili da A i su una semisfera unitaria, centrata in dA i, successivamente questarea sulla superficie della semisfera viene proiettata ortograficamente sul cerchio unitario che costituisce la base della semisfera

15 RADIOSITY : approssimazione dei form factors - Nusselt

16 RADIOSITY : approssimazione dei form factors – Cohen e Greenberg Cohen e Greenberg proposero di proiettare A j nella metà superiore di un cubo centrato su dA i con la faccia superiore parallela alla superficie. Ogni faccia dell emicubo è divisa in piccole celle quadrate di ugual area A j viene quindi proiettato sulle facce dellemicubo Si pensi ad ogni faccia del cubo come una pellicola su cui viene impresso ciò che una patch vede in ognuna delle 5 direzioni (5 facce dellemicubo)

17 RADIOSITY : approssimazione dei form factors – Cohen e Greenberg Ad ogni cella p dellemicubo è associato un valore del fatore di forma: Dato un sistema di riferimento per il semicubo, la cui origine è posta nel centro della faccia inferiore, otteniamo: Da cui si ha che:

18 RADIOSITY : approssimazione dei form factors – Cohen e Greenberg Per una faccia laterale perpendicolare allasse x dellemicubo abbiamo che: Da cui si ha che: Si può approssimare F di,j per qualsiasi patch j sommando i valori di F p associati ad ogni cella p nelle proiezioni sullemicubo di A j

19 RADIOSITY : substructuring Per migliorare il risultato di una soluzione radiosity, si deve incrementare il numero n di patch, ma in questo modo si andrebbe ad aumentare il tempo di calcolo poiché la complessità è O(n 2 ) Per evitare di incrementare in modo quadratico le suddivisioni delle patch si suddivide in modo adattativo le patch in sotto patch solo nelle zone in cui si trova un gradiente di radiosità alto

20 RADIOSITY : substructuring ogni qualvolta viene suddivisa una patch i, i form factor F sj da ogni sottopatch s a ogni patch j vengono calcolate mentre ogni form factor delle patch alle sottopatch di i non vengono calcolate dopo che una patch i viene suddivisa, i valori calcolati precedentemente di ogni form factor della patch alle altre sono sostituiti da un valore più accurato calcolato sulle m sottopatch di i la radiosità di ogni sottopatch s di una patch i può essere calcolata come:

21 RADIOSITY : substructuring lalgoritmo può iterare suddividendo sempre più le patch dove cè unalto gradiente di radiosità fino al punto di raggiungere un risultato soddisfacente le radiosità finali delle sottopatch saranno poi usate per determinare la radiosità dei vertici

22 RADIOSITY : raffinamento progressivo il costo dellalgoritmo di radiosity visto fino a questo momento è molto elevato lidea di base sarebbe creare una prima immagine non accurata e migliorarla in seguito usando un algoritmo incrementale con la definizione attuale di radiosity questo meccanismo non è realizzabile alcuni studiosi tuttavia hanno sviluppato un algoritmo per il raffinamento progressivo di radiosity, senza la necessità di precalcolare e memorizzare i fattori di forma le equazioni lineari vengono risolte in modo progressivo

23 RADIOSITY : raffinamento progressivo Le differenze fra i due metodi sono perciò le seguenti: Modello classicoRaffinamento progressivo Il calcolo della radiosity della patch i-esima viene basato sulla stima delle altre patch, raccogliendo la luce dellambiente Si considera invece la radiosity emanata da una patch verso il resto dellambiente, piuttosto che quella ricevuta Ogni termine dellequazione di radiosity esprime leffetto della patch j sulla radiosity della patch i B i dovuto a B j è uguale a ρ j B j F ij, per ogni j Si vuole determinare: B j dovuto a B i è uguale a ρ j B i F ji, per ogni j

24 RADIOSITY : raffinamento progressivo Il metodo tradizionale raccoglie la luce del resto dellambiente sulla generica patch, mentre lapproccio del raffinamento progressivo emana la radiosità da una patch verso lambiente il nuovo calcolo però richiede la conoscenza di F ji,cioè del fattore di forma dellarea A j allarea A i, da calcolare in semicubi separati, sfruttando però la relazione esistente tra fattori di forma reciproci possiamo dedurre che leffetto su B j dovuto a B i è uguale a: per ogni j per risolvere questa equazione per ogni j, sono necessari soltanto i form factors calcolati usando un solo emicubo centrato sulla patch i

25 RADIOSITY : raffinamento progressivo se i fattori di forma possono essere calcolati velocemente, allora la memoria da essi occupata può essere rilasciata non appena la radiosity da essi emanata viene lanciata nellambiente ad ogni passo dellalgoritmo dobbiamo avere a disposizione memoria solo per un singolo semicubo e per i suoi fattori di forma Nelliterazione, le patch più significative, cioè che contribuiscono ad illuminare maggiormente le altre, vengono calcolate prima mentre quelle con poca energia, cioè che hanno meno impatto sulle altre, sono lasciate per ultime lalgoritmo itera fino a quando non si raggiunge una tolleranza accettabile

26 RADIOSITY : illuminazione ambientale alcuni studiosi hanno proposto di aggiungere un termine di illuminazione ambientale per compensare la bassa luminosità delle immagini iniziali un modo per stimare questo termine è quello di usare una somma pesata delle patch che ancora non hanno emanato radiosità Per prima viene calcolata una riflessione diffusa media questa equazione viene usata per calcolare un fattore di riflessione complessivo R che tenga conto dei cammini differenti attraverso cui lenergia può viaggiare da una patch allaltra:

27 RADIOSITY : illuminazione ambientale Infine, una stima del termine ambientale viene eseguita facendo riferimento a questultima quantità R: Questo termine ambientale viene poi utilizzato come argomento per calcolare la radiosità della patch:

28 RADIOSITY : esempi immagine senza radiosity immagine con radiosity il fascio di luce si ferma alla parte della luce rimbalza prima iterazione, lasciando al illuminando anche gli oggetti buio gli oggetti 2 e 3 2 e 3 con intensità decrescente con il prolungarsi delle iterazioni

29 RADIOSITY : esempi Queste tre ripetizioni della stessa immagine mostrano lo stato di avanzamento del metodo a raffinamento progressivo di radiosity: la prima immagine viene prodotta alla prima iterazione, la seconda alla seconda iterazione e la terza immagine alla quarta iterazione

30 Riferimenti bibliografici radiosity_01.htmhttp://www.panebianco3d.com/i_tutorials-lightwave- radiosity_01.htm ty/overview_1.htmwww.siggraph.org/education/materials/HyperGraph/radiosi ty/overview_1.htm mlhttp://web.cs.wpi.edu/~matt/courses/cs563/talks/radiosity.ht ml


Scaricare ppt "RADIOSITY Algoritmo di calcolo della luce realistica DENIS COSSUTTA LAUREA SPECIALISTICA INGEGNERIA INFORMATICA A.A. 2005/2006."

Presentazioni simili


Annunci Google