• Non ci sono risultati.

Computer Graphics

N/A
N/A
Protected

Academic year: 2021

Condividi "Computer Graphics"

Copied!
2
0
0

Testo completo

(1)

1

Computer Graphics

Marco Tarini Università dell’Insubria

Facoltà di Scienze MFN di Varese Corso di Laurea in Informatica Anno Accademico 2012/13

Lezione 14:

Lezione 14:

Lezione 14:

Lezione 14:

Tecniche di illuminazione

globale

(cenni)

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity

• Classe di algoritmi di illuminazione globale

• Gestisce bene riflessioni multiple diffusive

• Assunzioni:

– materiali tutti Lambertiani (puramente diffusivi)

» (no effetti view-dependent) – scena statica (luci ed oggetti fermi)

– molto tempo per computare (offline rendering)

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity: concetto

1. Dividere la scena in “pezzetti di superficie” (patches) – circa stessa area

– (non necessariamente sono i nostri triangoli...) – LUCI: alcuni patch sono “fonti di luce” (emanano fotoni)

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity: Concetto

1. Dividere la scena in N pezzetti (patches)

2. Trovare la “matrice di Form Factor”

– cioè: per ogni coppia di patches i e j a i,j = quanta % della luce ...

• che parte dal patch i

• e si diffonde in tutte le direzioni (diffusive reflection!) ... raggiunge j

– a i,j dipende da:

• distanza e orientamento reciproco dei patch i e j

• eventuali occlusiori fra i due patch (es trovati con ray tracing)

• albedo (un po’ di luce è trattenuta dal patch)

• etc…

Purtroppo, è molto grande!

NxN

Radiosity: Concetto 3. Risolvere sistema:

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

 

 

 

 

 +

 

 

 

 

=

 

 

 

 

n n

n x

x x F e e e

x x x

M M

M

1 0 1

0 1 0

Luce finale che raggiunge (e si irradia da) ogni patch i (le (le

(le (le incognite incognite incognite!) incognite !) !) !)

Fonti di luce:

luce emessa dal patch i (tutti 0 meno le fonti di luce)

Matriciona “Form Factor”

(calcolato prima)

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity: Come

• La soluz mostra cosa succede dopo

“infiniti” rimbalzi di luce (diffusivi)

• Risoluzione corretta del sistema: O(n O(n O(n O(n 3 33 3 ) ) ) ) – troppo pesante persino per un preprocessing – e trovare il form factor è ancora più oneroso

• Come si fa davvero:

– approx con metodi randomizzati

stocastici (Monte Carlo)

(2)

2

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity: Costo

• Troppo caro da calcolare in tempo reale – e sarà così a lungo

• Ma... il risultato di questa computazione

(un float per patch)

NON dipende dal punto di vista!

(è "view independent")

– può essere salvato nella scena (“baked” lighting)

• es come attributo per vertice

– e acceduto in real-time tramite rasterizzazione:

• almeno finché cambia solo il punto di vista – (né l'illuminazione, né la forma scena)

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Radiosity: esempi di risultati

M a r c o T a r i n i ‧ C o m p u t e r G r a p h i c s ‧ 2 0 1 2 / 1 3 ‧ U n i v e r s i t à d e l l ’ I n s u b r i a

Ambient Occlusion (AO)

• Approssimazione (al prim’ordine) di Radiosity:

– “ambient occlusion”!

• Ipotesi: le stesse di radiosity – In piu’ approssimo:

• <<facciamo finta che, in ogni punto, arrivi dall’esterno una quantità di luce costante da ogni direzione...

... salvo le occlusioni dirette>>

Ambient Occlusion (AO)

• Tecnica di illumizaione globale – Approssimazione di radiosity – Effetto “illuminazione da cielo nuvoloso”

– Sostituisce “componente ambient”

• Concetto:

– dato un punto p di normale n

p

precalcoliamo la sua irradianza I(p)

(quantità di luce che raggiunge p da ogni direzione)

ω ω ω

ω

d n p S p

I ∫ p

= ( , ) ( )

) (

• Dove S(w,p) vale:

1 se p è visibile dalla direzione ω (no occlusione) 0 se p è occluso in direzione ω (occlusione)

Ambient Occlusion:

Ambient Occlusion:

Ambient Occlusion:

Ambient Occlusion: esempio

• Realismo, e aumenta la leggibilità delle immagini (dimostratamente!)

Illuminazione locale Ambient Occlusion

Ambient Occlusion:

Ambient Occlusion:

Ambient Occlusion:

Ambient Occlusion: esempio

Local lighting Ambient Occlusion

Riferimenti

Documenti correlati

inTrace Realtime Ray Tracing Technologies GmbH MPI Informatik, Saarbrueken - Ingo Wald 2004 HW specializzato.. per

[r]

[r]

[r]

Flat shading Goraund shading Phong Shading (*) talvolta (ma impropriamente) detto: per-pixel lighting. quando si usano normali

di vista riflessa dalla norm.). Environment

[r]

[r]