Re: Radiosity vs Ray-tracing

Da: enrico ciabatti ciabatti@calpar.cnuce.cnr.it
Date: 21/02/97
Time: 19.17.05
Remote Name: 131.114.192.95

Comments

L'approccio radiosity deriva da un complicato studio della trasmissione della radiazione termica in una stanza. Nella computer graphics, invece della diffusione del calore viene analizzata quella della luce (sempre in un ambiente chiuso). La differenza fondamentale da un punto di vista visivo con la tecnica del ray-tracing, e` il maggior realismo e precisione delle immagini dovuto essenzialmente al calcolo delle interazioni luminose reciproche fra gli oggetti.

Per chiarire ogni dubbio:

- nell'approccio ray-tracing vengono tracciati dei raggi a partire dall'osservatore verso la scena tridimensionale. Un raggio per ogni pixel che compone l'immagine sullo schermo. Ogni volta che un oggetto viene colpito, si calcola il colore del pixel relativo a quel raggio, in base al colore dell'oggetto, alla sua lucentezza, alla quantita` di luce che lo investe ecc... Se poi l'oggetto ha particolari caratteristiche di riflessione o trasparenza, vengono tracciati nuovi raggi (a partire dal punto dove il primo raggio aveva colpito l'oggetto) e si considera anche l'influenza di questi ultimi nella determinazione del colore del pixel. Quindi in ray-tracing non si fa altro che lanciare raggi e valutare le loro collisione con gli oggetti.

- in Radiosity l'approccio e` diverso. Innanzitutto e` possibile suddividere l'intero processo in due fasi:

1) si suddivide l'intera scena 3D in tanti cubetti. Poi si calcola una serie di 'fattori' che determinano il grado di interazione visiva fra due cubetti. In pratica un singolo fattore indica quanta luce giunge da un cubetto all'altro e viceversa. Con questo processo dunque e` possibile descrivere una specie di mappa tridimensionale della radiazione luminosa presente in una scena.

2) Dopo e` possibile applicare un algoritmo come lo stesso ray-tracing o anche tecniche di scansione lineare (piu' veloci) per produrre l'immagine.

Si puo' notare che la fase 1) e' indipendente dal punto di vista e quindi deve essere calcolata solo una volta se non si modificano le luci o gli oggetti.

Con la tecnica radiosity viene simulata in modo piu` corretta l'illuminazione ambientale di una scena. Radiosity rende possibile:

- il calcolo delle ombre e penombre in modo incredibilmente realistico.

- inserire la luce diurna proveniente da un finestrone (bellissime le varie immagini che sono state realizzate degli interni delle chiese)

- inserire una lieve penombra negli angoli e negli spigoli

- aggiungere l'interazione luminosa fra gli oggetti, cioe' un oggetto rosso posto nelle vicinanze di uno blu produrra` su quest'ultimo un leggero alone viola (anche su quello rosso). L'immagine tipica che descrive il metodo radiosity e' proprio un cubo rosso posto in una stanza bianca. Le pareti mostrano una leggera tendeza al rosa per via della luce riflessa dal cubo rosso.

Purtroppo la lentezza di calcolo della fase 1 di cui sopra e' notevole. I programmi devono cercare di effettuare delle ottimizzazioni per ridurre questo tempo.

Per finire esiste un programma professionale di pubblico dominio completo di sorgenti: Radiance.