41
Sevalna metoda (Radiosity)

Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Sevalna metoda(Radiosity)

Page 2: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Sevalna metoda (radiosity)

• Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

• Sevanje je delež energije, ki se od neke površine odda ali odbije• S shranjevanjem svetlobne energije v neki količini,

lahko efektu sevanja sledimo

Page 3: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Koncept sevalne metode

• Sevanje posamezne površine je odvisno od sevanja vseh ostalih površin– Globalno osvetlitev obravnavamo kot linearni

sistem– Potrebna je konstantna BRDF, tj. Bi­directional

Reflectance Distribution Function (difuzna svetloba)

– Enačbo upodabljanja rešujemo kot problem matrik• Postopek

– Razdeli površine na mrežo ploskev (v nadaljevanju elementi)

– Izračunaj snovne faktorje površin– Izračunaj sevanje– Prikaži ploskve

Page 4: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Algoritem

To dosežemo tako, da najprej razdelimo originalne ploskve na mrežo manjših ploskev, recimo jim elementi. Med postopkom nato računamo, kakšen prispevek svetlobe seva vsak posamezen element drugim elementom. Za vsak element mreže pomnimo seštevek takih sevalnih vrednosti.

Page 5: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Demonstracija sevalne metode

Page 6: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Demonstracija sevalne metode

Page 7: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Osnove

Definition:• The radiosity of a surface is the rate at which energy leaves

the surface – Radiosity = rate at which the surface emits energy + rate at which the

surface reflects energy

Simplifying assumptions• Environment is closed• All surfaces have Lambertian reflectance• Surface patches emit and reflect light uniformly over their

entire surface

Page 8: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Sevalna metoda (radiosity)

For each surface i:

Bi = Ei + ρ i Σ Bj Fji (Aj / Ai)where

Bi, Bj= radiosity of patch i, jAi, Aj= area of patch i, jEi = energy/area/time emitted by iρ i = reflectivity of patch i Fji = Form factor from j to i

Page 9: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike (Form Factors)

Form factor: fraction of energy leaving the entirety of patch i that arrives at patch j, accounting for:• The shape of both patches• The relative orientation of both patches• Occlusion by other patches

We’ll return later to the calculation of form factors

Page 10: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike (form factors)

Nekaj primerov…

Faktor oblike: približno 100%

Page 11: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

Nekaj primerov…

Faktor oblike: približno 50%

Page 12: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

Nekaj primerov…

Faktor oblike: Približno 10%

Page 13: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

Nekaj primerov…

Faktor oblike: Približno 5%

Page 14: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

Nekaj primerov…

Faktor oblike: približno 30%

Page 15: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

Nekaj primerov…

Faktor oblike: približno 2%

Page 16: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

In diffuse environments, form factors obey a simple reciprocity relationship:Ai Fij = Ai Fji

Which simplifies our equation:

Bi = Ei + ρ i Σ Bj Fij

Rearranging to:

Bi ­ ρ i Σ Bj Fij = Ei

Page 17: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

So…light exchange between all patches becomes a matrix:

What do the various terms mean?

=

ρ−ρ−ρ−

ρ−ρ−ρ−ρ−ρ−ρ−

nnnnnnnnn

n

n

E

E

E

B

B

B

FFF

FFF

FFF

2

1

2

1

21

22222212

11121111

1

1

1

Page 18: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

1 ­ ρ 1F11 ­ ρ 1F12 … ­ ρ 1F1n B1 E1

­ ρ 2F21 1 ­ ρ 2F22 … ­ ρ 2F2n B2 E2

. . … . . . . . … . . . . . … . . .

­ pnFn1 ­ ρ nFn2 … 1 ­ ρ nFnn Bn En

Note: Ei values zero except at emittersNote: Fii is zero for convex or planar patchesNote: sum of form factors in any row = 1 (Why?)Note: n equations, n unknowns!

Page 19: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Sevalna metoda

Now “just” need to solve the matrix!• W&W: matrix is “diagonally dominant”• Thus Guass­Siedel must converge (what’s that?)

End result: radiosities for all patchesSolve RGB radiosities separately, color each patch, and render!Caveat: for rendering, we actually color vertices, not patches (see

F&vD p 795)

Page 20: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Sevalna metoda

Q: How many form factors must be computed? A: O(n2)Q: What primarily limits the accuracy of the solution?A: The number of patches

Page 21: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

Calculating form factors is hard• Analytic form factor between two polygons in general case:

open problem till last few years

Q: So how might we go about it? Hint: Clearly form factors are related to visibility: how much

of patch j can patch i “see”?

Page 22: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike: polkocke

Hemicube algorithm: Think Z­buffer• Render the model onto a hemicube as seen from the center

of patch i• Store item IDs instead of color• Use Z­buffer to resolve visibility• See W&W p 278

Q: Why hemicube, not hemisphere?

Page 23: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike: polkocke

Advantages of hemicubes• Solves shape, size, orientation, and occlusion

problems in one framework• Can use hardware Z­buffers to speed up form factor

determination (How?)

Page 24: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike: polkocke

Q: What are some disadvantages of hemicubes? • Aliasing! Low resolution buffer can’t capture actual

polygon contributions very exactly – Causes “banding” near lights (plate 41)

• Actual form factor is over area of patch; hemicube samples visibility at only center point on patch (So?)

Page 25: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike: Zlivanje žarkov (Ray Casting)

Idea: shoot rays from center of patch in hemispherical pattern

Page 26: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Zlivanje žarkov (Ray Casting)

Advantages:• Hemisphere better approximation than hemicube

– More even sampling reduces aliasing

• Don’t need to keep item buffer• Slightly simpler to calculate coverage

Page 27: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Zlivanje žarkov (Ray Casting)

Disadvantages:• Regular sampling still invites aliasing • Visibility at patch center still isn’t quite the same as

form factor• Ray tracing is generally slower than

Z­buffer­like hemicube algorithms– Depends on scene, though– Q: What kind of scene might ray tracing actually be faster

on?

Page 28: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

Source­to­vertex form factors• Calculating form factors at the patch vertices helps

address some problems:for every patch vertex

for every source patch

sample source evenly with rays

visibility = % rays that hit

• Q: What are the problems with this approach?

Page 29: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

Summary of form factor computation• Analytical:

– Expensive or impossible (in general case)

• Hemicube– Fast, especially using graphics hardware– Not very accurate; aliasing problems

• Ray casting– Conceptually cleaner than hemicube– Usually slower; aliasing still possible

Page 30: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Sistem sevalne metode

• Razveljavimo žarečo verzijo enačbe upodabljanja

• Iztekajoča verzija enačbe upodabljanja

• Iztekanje = Sevanje X Površina

• Difuzni odboj je konstanten

• Fij je faktor snovi

∑=

+=n

jjjjiiiiii ABFAEAB

1

ρ

Adr

f ireo ′′Φ′+Φ=Φ ∫ 2

coscos),,(

θθωωx

Φi

Φo

AdLGfLL re ′′′′′+= ∫ ),(),(),,(),(),( ωωωωω xxxxxx

)(coscos

)( 2 xxxx

xx ′′−

′=′ ,V,G

θθ

∑=

+=n

jjijjiiiii FABAEAB

1

ρ

Page 31: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Sevalna metoda (radiosity)

• Sevanje elementa ‘i’ je• εi je delež svetlobe, ki se jo odda• ρi je odbojnost i­tega elementa• Fj,i je faktor snovi

– ulomek elementa j, ki doseže element i je določen z orientacijo obeh elementov in z ovirami

• Uporabi Aj/Ai (površina elementa j / površina elementa i) da določiš enote za vso svetlobo oddano od j glede na prejeto na enoto površine i­ja

∑≤≤

+=nj i

jijjiii A

AFBB

1,ρε

Page 32: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktorji oblike

• Izračunaj nxn matriko faktorjev snovi da shraniš odnose med sevanjem posameznega svetlobnega elementa in vsemi ostalimi

jijji

djdi dAHr

dF2,

coscos

πθθ

=

Hij = 1 or 0 depending on

occlusion

Page 33: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktor oblike – projekcije krogle

Modeliranje faktorja oblike s projekcijami krogle• poligon Aj projeciramo na enoto poloble s središčem

(in tangentno na) Ai

– Prispevek cosθj / r2

• Projeciramo to projekcijo na osnovno ploskev poloble

– Prispevek cosθi

• To površino delimo s povšino osnovnega kroga

– Prispevek π

jijji

djdi dAHr

dF2,

coscos

πθθ

=

Page 34: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktor oblike – polkocka

• Polkocka omogoča hitrejše računanje– Analitična rešitev polkrogle je draga– Uporabimo pravokotni približek, polkocko– Kosinusi za vrh in stranice se poenostavijo– Dimenzije 50 – 200 kvadratov so dobre

Page 35: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Reševanje za vse elemente

En element definiran z:Simetrija: AiFi,j = AjFj,I

Zato: In:

Uporabi algebro matrik za izračun Bi­jev:

∑≤≤

+=nj i

jijjiii A

AFBB

1,ρε

∑≤≤

+=nj

jijiii FBB1

,ρε

∑≤≤

=−nj

ijijii FBB1

, ερ

Page 36: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Sevalna metoda (radiosity)

• Sevanje je računsko kompleksno– Naredi doktorsko disertacijo o izboljšavi...

• Oddana svetloba in točka pogleda se lahko spremenita• Koti svetlobe in položaji objektov se ne morejo

spremeniti– Računanje faktorjev snovi je drago

• Zrcalni odboji se ne modelirajo

Page 37: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Faktor oblike

FdAidAj – delež skupne jakosti svetlobe, ki zapusti difuzno površino elementa i (imenovalec) in doseže difuzno površino elementa j (števec)

FdAiAj – delež skupne jakosti svetlobe, ki zapusti difuzno povšino elementa i in v celoti doseže element j

FAiAj = Fij – delež skupne jakosti svetlobe, ki zapusti element i in doseže element j

22

coscoscoscos

r

dA

rdAI

dAdAIF jji

ii

jijiidAidAj π

θθπθθ

==

∫=jA

jji

dAiAj dAr

F2

coscos

πθθ

∫ ∫=i jA A

ijji

iij dAdA

rAF

2

coscos1

πθθ

θj

θi

Aj

Ai

r

Lepe lastnosti faktorjev oblikeLepe lastnosti faktorjev oblike

Fii = 0 ko so ploskve ravne

Fij = 0 če so ploskve zaprte

AiFij = AjFji

Fij je brez dimenzij

Ko r2 >> Aj …

Lepe lastnosti faktorjev oblikeLepe lastnosti faktorjev oblike

Fii = 0 ko so ploskve ravne

Fij = 0 če so ploskve zaprte

AiFij = AjFji

Fij je brez dimenzij

Ko r2 >> Aj …

∫≈jA

jji

ij dAr

F2

coscos

πθθ

∫ ∫Ω

=iA

iji

iij dAd

AF ω

πθcos1

Page 38: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Računanje faktorjev oblike

Stokesov teorem [Lambert 1760, Goral et al. S84]

Nusseltov analogFij = projD(projW(Aj))/Area(D)

Polkocka

Monte­Carlo metanje žarkov• Uniformni vzorčni disk• Fij = (# žarkov ki zadanejo Aj) / (# vseh žarkov)

∆AAr

F jidAiAj ∆=∆

2

coscos

πφφ

∫ ∫∂ ∂++=

i jA A jijijii

ij dzrdzdyrdydxrdxA

F lnlnln2

1

π

Ai

Aj

(cos θj/r2) Aj

cos θi(cos θj/r2) Aj

1

D

Ω

Page 39: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Matrično sevanje

∑=

+=n

jjjjiiiiii ABFAEAB

1

ρ

∑=

+=n

jjijiii BFEB

1

ρ

=

−−−

−−−−−−

nnnnnnnnn

n

n

E

E

E

B

B

B

FFF

FFF

FFF

2

1

2

1

21

22222212

11121111

1

1

1

ρρρ

ρρρρρρ

jijiji FAFA =

Ei

Bi

i

n

jjijii EBFB =− ∑

=1

ρ

EBRFI =− )(

=

n

ρρ

2

1

Page 40: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Zbiranje podatkov

Rešuje se kot linearni sistem Ax = bMB = E

Jacobi• Sevanje = Oddajanje + Odboj ostalih sevanj

Bi(k+1) = Ei – Σj≠i Mij Bj

(k)

Gauss­Siedel• računa mestoma (tu pa tam)

Bi = Ei – Σj≠i Mij Bj

pretirana omilitev• Gauss­Siedel je preveč konzervativen

Bi(k+1) = 110% Bj

(k+1) – 10% Bj(k)

=

−−

−−−−

nnnnnn

n

n

E

E

E

B

B

B

FF

FF

FF

2

1

2

1

21

22212

11121

1

1

1

ρρ

ρρρρ

Bi

Page 41: Sevalna metoda - Študentski.net · Sevalna metoda (radiosity) • Sledenje žarka modelira zrcalne odboje in lome skozi prosojne predmete, toda še vedno ne upošteva difuzne svetlobe

Izris

Progresivno izboljšanjePorazdeli dodatno sevanje ∆Bi med ostale

elemente jBj

(k+1) = Bj(k) + ΣρjFji ∆Bi

Dodatno “neizrisano” sevanje je tisto,kar smo dobili v zadnji iteraciji

∆Bi = Bj(k) – Bj

(k­1)

Energija se začne pri oddajnikuPorazdeljuj “progresivno” skozi prizorLahko upoštevamo ambient, ko prikazujemo prizor

in v njem delamo zamenjave tekom napredovanja progresivnega sevanja

Bi