Sei sulla pagina 1di 22

Rendering ed illuminazione

Dove si introduce un metodo per ottenere una immagine a partire da una descrizione degli oggetti tridimensionali e si presenta la legge fondamentale che governa lilluminazione. Introduzione al rendering Modello sico dellilluminazione

Graca al Calcolatore

Rendering ed Illuminazione - 1

Introduzione al rendering
Modeling (modellazione) e Rendering sono i due loni principali della graca. Finora abbiamo parlato di modellazione. Il termine rendering indica la serie di algoritmi, geometrici e non, a cui si sottopone una data descrizione di una serie di oggetti per ottenere una immagine Le descrizioni (abbiamo visto) possono essere: maglie (mesh) poligonali superci parametriche CSG volumetriche Il modeling di una scena sintetica ` e un problema relativamente facile, per quanto laborioso. Il problema del rendering (e della illuminazione) ` e il problema centrale della Graca al calcolatore, da un punto di vista pratico e concettuale.

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 2

Il metodo del pittore: ray casting


Come avviene la creazione di immagini 2D del mondo 3D? Si ssa un punto di vista o COP (occhio del pittore) ed un rettangolo (tela) su cui si former` a limmagine (il piano contenente il rettangolo ` e chiamato per questo piano immagine).

Il rettangolo stesso prende il nome di nestra di vista (view window ). La tela ` e divisa in celle (pixel), ciascuna delle quali assumer` a un colore. Si traccia un raggio (raggio ottico) attraverso ciascuna cella e la si dipinge con il colore che si vede lungo il raggio.

c Slater et al.

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 3

La distanza del piano immagine dal COP e le dimensioni della nestra di vista determinano langolo di vista. I raggi ottici riempiono una piramide semi-innita con il vertice nel COP e gli spigoli che passano attraverso i vertici della nestra di vista. Questo processo prende il nome di ray casting e ricalca il modo in cui Aristotele pensava funzionasse la visione umana. Il ray casting funziona con tutte le descrizioni dei modelli gi` a viste. La geometria del processo ` e semplice ed intuitiva (ma anche ineciente, a causa del calcolo delle intersezioni). Il cuore del processo ` e il calcolo del colore lungo i raggi. Bisogna studiare un modello di illuminazione, che esprime i fattori che determinano il colore di una supercie in un determinato punto.

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 4

Modello sico dellilluminazione


La radiazione luminosa ` e caratterizzata da una certa distribuzione spettrale, che ne determina il colore dalla energia che trasporta, che ne determina ci` o che viene percepito come intensit` ao luminosit` a (per ora usiamo in modo informale questi termini).

Si chiama fotometria la misura dellenergia trasportata dalle onde elettromagnetiche della gamma ottica (spettro visibile). In senso pi` u stretto, la fotometria si occupa dellazione della luce visibile sullocchio umano La radiometria invece si occupa di radiazioni estese sullintero intervallo delle possibili lunghezze donda e non considera gli eetti sullosservatore.

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 5

Essendo interessati ad un modello oggettivo, deniremo le grandezza radiometriche (tra parentesi le corrispondenti denominazioni fotometriche). Assumendo che non ci sia interazione tra le diverse lunghezze donda, si pu` o misurare lenergia indipendentemente per un certo numero di lunghezze donda campione che servono a rappresentarelintera distribuzione spettrale. Di solito se ne usano 3, per motivi legati al sistema visivo umano, corrispondenti al rosso, verde e blu (RGB). Tutte le grandezze che deniremo sono implicitamente spettrali, ovvero riferite ad una singola lunghezza donda.

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 6

Radiometria
Il usso radiante (usso luminoso) ` e la velocit` a alla quale lenergia luminosa viene emessa o assorbita da una supercie, ha le dimensioni di una potenza (energia per unit` a di tempo) e si misura in Watt [W].

Irradianza e radiosit` a
Si dice irradianza (illuminanza) E (x) il rapporto tra il usso ricevuto da un elemento innitesimo di supercie in x e la sua area dx: E (x) = d dx

Si dice radiosit` a (luminosit` a) o radiosity B (x) il rapporto tra il usso emesso da un elemento innitesimo di supercie in x e la sua area dx: B (x) = d dx

Irradianza e radiosit` a sono la stessa grandezza (una densit` a superciale di usso) e si misurano in [W/m2 ]. La dierenza ` e che lirradianza ` e energia ricevuta, la radiosit` a` e energia emessa. In entrambe i casi, lenergia ricevuta/emessa si considera da/verso tutte le direzioni.
A. Fusiello Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 7

Intensit` a radiante
Lintensit` a radiante (luminosa) ` e il usso radiante (luminoso) emesso in un angolo solido innitesimo d lungo una particolare direzione : I ( ) = d d

Si usa soprattutto per descrivere sorgenti luminose puntiformi. Langolo solido sotteso da un oggetto rispetto un punto P ` e pari allarea della proiezione delloggetto su una sfera unitaria centrata in P. Langolo solido sotteso da un elemento innitesimo di supercie dx centrato in x ed orientato con normale n, rispetto ad un punto y distante dx cos r vale: d = dove ` e langolo formato r2 dalla normale n con la congiungente y ed x. il termine dx cos rappresenta larea proiettata di dx lungo la congiungente y ed x. Se poniamo in y una sorgente di luce puntiforme con intensit` a radiante I , allora la irradianza nel punto x vale: d I cos E (x) = = dx r2
A. Fusiello Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 8

Radianza
La radianza (luminanza) L(x, ) nel punto x in una direzione ` e la densit` a superciale della intensit` a radiante (luminosa) in x lungo la direzione , considerando larea della supercie proiettata: dI ( ) d2 L(x, ) = = (1) dx( n) d dx( n) Larea proiettata della supercie innitesima dx ` e larea della proiezione di dx (la cui normale ` e n) sul piano perpendicolare ad , e vale dunque dx( n) La direzione ` e data da due angoli: lelevazione (rispetto alla normale alla supercie n) e lazimuth (rispetto ad una direzione ssata sulla supercie.) Possiamo dunque scrivere ( n) = cos La radianza L(x, ) ` e la densit` a di usso nel punto x in una direzione , misurata rispetto ad una supercie innitesima perpendicolare a . La radianza ` e pari al il usso radiante per unit` a di angolo solido per unit` a di area proiettata lungo la direzione di propagazione, e si misura in [W/(m2 st)].
A. Fusiello Verona, a.a. 2009-10

L(x, )

dx

Graca al Calcolatore

Rendering ed Illuminazione - 9

Radianza lungo un raggio


Dati due punti x e y (nel vuoto) la radianza che lascia x verso y ` e uguale a quella che raggiunge y dalla direzione di x: la radianza non si attenua con la distanza. Il modello che si usa in Graca ` e quello di raggi luminosi che trasportano una certa quantit` a di energia luminosa. Nel ray casting, dunque, i raggi luminosi trasportano radianza, ed i pixel registrano il valore della radianza (idealmente) Quando informalmente si parla di intensit` a del pixel, si fa riferimento alla radianza. In realt` a non ` e possibile rappresentare linearmente la radianza nellintervallo [0,255] senza perdita di informazione, poich e questultima ha una gamma dinamica pi` u elevata. Nelle tipiche immagini, quindi, il valore di intensit` a del pixel ` e legato al logaritmo della radianza.

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 10

Radiosit` a e Radianza
Sia la semisfera delle direzioni attorno alla normale in x. Dalla (1) si ha: d2 L(x, )( n) = d dx ed integrando: L(x, )( n)d =

d d2 d = = B (x) d dx dx

Similmente, per lenergia incidente, lirradianza vale: E (x) =

L(x, )( n)d

Nota: la radianza ` e denita per unit` a di area proiettata, mentre la irradianza/radiosit` a sono denite per unit` a di area (eettiva).

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 11

Caratterizzazione delle superci: BRDF


Vogliamo ora descrivere quantitativamente come una supercie riette la luce incidente. Introduciamo la Bidirectional Reectance Distribution Function (BRDF) (x, i , r ) ` e per caratterizzare il materiale di cui ` e composta la supercie (non dipende dalla geometria).
dE (x)

La BRDF (x, i , r ), ` e il rapporto tra la radianza riessa da x lungo la direzione r e la irradianza della luce incidente nel punto x da un angolo solido innitesimale d i centrato in i : (x, i , r ) = Lr (x, r ) dE (x)

n Lr (x, r ) d i i r

dx

Si usa la irradianza per misurare la densit` a di usso incidente e non la radianza perch e questultima non tiene conto della reale orientazione della supercie, mentre la irradianza rappresenta la eettiva densit` a di usso incidente.
A. Fusiello Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 12

Si vede facilmente che la irradianza ` e legata alla radianza della luce incidente Li (x, i ) da: dE (x) = Li (x, i )( i n)d i dove ( i n) = cos i . Dunque la BRDF si scrive: (x, i , r ) = Lr (x, r ) Li (x, i )( i n)d i

siccome la radianza ` e denita per unit` a di area proiettata, moltiplicando per ( i n) la si converte in una misura per unit` a di area (non proiettata). In altri termini, si tiene conto del fatto che la radianza ` e misurata rispetto ad unarea innitesima orientata diversamente da quella che in eetti viene illuminata, mentre noi vogliamo esprimere leettivo usso incidente. Se consideriamo i contributi di irradianza da tutte le direzioni di incidenza , la radianza totale riessa nella direzione r , ` e vale: Lr (x, r ) =
i

(x, i , r )Li (x, i )( i n)d i

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 13

BRDF Lambertiana
Una supercie Lambertiana (o diusore perfetto) ha una BRDF costante: (x, i , r ) = (x). La radianza (riessa) di tale supercie non dipende dalla direzione. Lr (x, r ) = (x)

Li (x, i )( i n)d i = (x)E (x) = L(x)

Inoltre B (x) =

L(x, )( n)d = L(x)

cos d = (x)E (x)

d (x) = (x) prende il nome di albedo. Lalbedo ` e la frazione di irradianza E (x) che viene riessa come radiosit` a B (x). Il resto dellenergia viene assorbito.

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 14

BRDF generiche
La specica esatta della BRDF per superci reali ` e estramemente dicile da ottenere. Nella graca al calcolatore si usano approssimazioni della BRDF. Le due pi` u semplici e pi` u usate modellano due comportamenti ideali dei materiali: riessione speculare e diusione.

c Slater et al.

Un riettore speculare si comporta come uno specchio perfetto, che riette il raggio incidente lungo una direzione che forma con la normale lo stesso angolo formato dalla direzione di incidenza.

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 15

In un materiale lucido (glossy ) il raggio incidente viene disperso in un cono attorno alla direzione di riessione perfetta.

c Slater et al.

Un diusore perfetto ` e una supercie ruvida (come il gesso o il coccio) che ripartisce la radianza del raggio entrante uniformemente su tutte le direzioni lungo una semisfera. Tipicamente le BRDF che si usano in Graca sono una mistura di queste due. Abbiamo omesso la dipendenza dalla lunghezza donda , ma la BRDF, in generale, dipende anche da , ed ` e grazie a ci` o che le superci appaiono colorate. La luce bianca (spettro uniforme) incide sulla supercie e grazie allassorbimento selettivo delle componenti cromatiche la luce riessa ha una distribuzione spettrale non uniforme, ovvero ` e colorata.

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 16

Equazione del rendering


Tutto ci` o che serve per disegnare una immagine ` e la radianza che lascia ciascun punto della scena nella direzione dellocchio. Fissando un centro di proiezione (COP) che coincide con locchio si calcola la radianza di tutti i raggi passanti per il COP entro langolo di vista : image = L(COP, )

c Slater et al.

Come calcolare, per ogni punto della scena, la radianza emessa in una particolare direzione? Bisoigna risolvere lequazione del rendering.

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 17

Abbiamo visto che la radianza riessa nella direzione r , dovuta alla irradianza lungo una direzione particolare i ` e: Lr (x, r ) = (x, i , r )Li (x, i )( i n) La radianza totale riessa nella direzione r , ` e la somma dei contributi dovuti a tutte le possibili direzioni incidenti, , quindi vale: Lr (x, r ) =

(x, i , r )Li (x, i )( i n)d i

Aggiungiamo la radianza emessa Le (x, ) ottenendo la fondamentale equazione del rendering, o della radianza (Kaijya, 1987), che esprime la radianza totale che lascia il punto x nella direzione : L(x, ) = Le (x, ) +

(x, i , )L(x, i )( i n)d i

(2)

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 18

La radianza incidente in x lungo la direzione i , L(x, i ), ` e uguale alla radianza emessa da un altro punto y nella direzione sotto cui y vede x: L(x, xy ) = L(y, yx ) (con i = xy ). Langolo solido innitesimo d sotto cui y vede dx vale: d = dy cos yx ||x y ||2

Introduciamo il termine di visibilit` a V (x, y ) che vale 1 sse x ` e visibile da y Possiamo quindi trasformare lequazione del rendering da integrale su una semisfera di direzioni ad integrale su tutte le superci S della scena: L(x, ) = Le (x, ) +
y S

(x, xy , )L(y, yx )G(x, y )dy

(3)

il termine G(x, y ) =

cos xy cos yx V (x, y ) dipende solo dalla geometria della scena. ||x y ||2

La funzione incognita L appare anche a destra delluguale: per calcolare la radianza emessa in y si impiega nuovamente lequazione 2, in modo ricorsivo. Per determinare y si traccia un raggio da x lungo i e lo si segue no a quando incontra una supercie (come fare ray-casting con COP in y ).

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 19

Soluzioni della equazione della radianza: uno sguardo in avanti.


Lequazione del rendering mostra che la radianza in un punto di una supercie ` e determinata globalmente, poich e dipende non solo dalle sorgenti luminose (primarie) ma anche da tutte (in principio) le altre superci presenti nellambiente (sorgenti secondarie). La soluzione della equazione del rendering ` e estremamente onerosa: possiamo dire che gran parte della Graca ` e dedicata alla soluzione di questa equazione. Diversi approcci propongono soluzioni approssimate, pi` u o meno grossolane. Le approssimazioni riguardano due aspetti: la BRDF e la ricorsione. Per quanto riguarda questultimo aspetto, i metodi si dividono in locali e globali. Locali. I metodi locali tengono conto solo delleetto diretto delle sorgenti luminose, trascurando le interriessioni tra oggetti. Questo elimina completamente la ricorsione nellequazione della radianza, in quanto viene considerata la radianza entrante solo lungo le direzioni corrispondenti a raggi provenienti direttamente dalle sorgenti luminose (la cui radianza ` e nota e non deve essere calcolata ricorsivamente). Globali. I metodi globali tengono conto della natura ricorsiva della equazione della radianza, anche se ciascuno trascura alcuni fenomeni di interriessione per rendere il e corretta per le problema trattabile. In particolare, vedremo una tecnica (ray tracing) che ` riessioni speculari, ed unaltra (radiosity) che modella solo le interiessioni tra superci diusive.
A. Fusiello Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 20

Il ray tracing estende ricorsivamente il paradigma del ray casting per determinare il percorso dei soli raggi riessi specularmente e rifratti. Gli altri contributi alla radianza sono calcolati con metodi locali. Il radiosity, come il nome suggerisce, riformula lequazione della radianza in termini di radiosit` a, perdendo dunque la direzionalit` a. Per questo ` e corretta solo se la scena ` e composta da diusori perfetti. Queste due tecniche introducono unaltra dicotomia, tra soluzioni view-dependent e view-independent. Il ray tracing ` e view-dependent in quanto la soluzione che trova dipende dalla posizione dellosservatore. La soluzione di radiosity, invece, viene calcolata in relazione alle superci della scena e non dipende dalla posizione dellosservatore. Tra le approssimazioni della BRDF la pi` u semplice ` e quella di porre = 0. In questo modo lintegrale nella azzerarla (2) si azzera e si ottiene L(x, ) = Le (x, ). In pratica questo signica che ogni punto ha una radianza (colore) preassegnata (color texture). Altre tecniche un p` o pi` u realistiche modellano superci con BRDF miste, labertiane e lucide (modelli di Phong, Cook-Torrance ed altri).

A. Fusiello

Verona, a.a. 2009-10

Graca al Calcolatore

Rendering ed Illuminazione - 21

Assumendo che vi siano due tipi di superci ideali nella scena (diusive e speculari) vi sono 4 meccanismi di trasmissione della luce tra superci:

c Slater et al.

Ray tracing modella la situazione a), Radiosity la situazione d), per le altre due ci sono metodi probabilistici (Monte Carlo) che non vedremo.
A. Fusiello Verona, a.a. 2009-10

Potrebbero piacerti anche