Iluminação e FotoRealismo

30
Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos http://gec.di.uminho.pt/mcgav/ifr

Transcript of Iluminação e FotoRealismo

Page 1: Iluminação e FotoRealismo

Iluminação e FotoRealismo:Radiosidade

Luís Paulo Peixoto dos Santos

http://gec.di.uminho.pt/mcgav/ifr

Page 2: Iluminação e FotoRealismo

Iluminação e FotoRealismo 22003/04

Premissas• Todas as interacções da luz com os objectos são difusas

sxLxL Ω∈Θ∀=Θ→ ),()(

• Expressa em termos de radiosidade (W/m2)

)(),cos()(),cos()()( xLNxLNxLxBss

xx πωω =∂Θ=∂Θ= ∫∫ΩΩ

ΘΘ

r

• A BRDF fr(x,Θ↔Ψ) é independente das direcções

πρ )()(),( xxfxf d

rr ==Ψ↔Θ

onde ρd(x) é o coeficiente de reflexão difuso (dependente de λ)

Page 3: Iluminação e FotoRealismo

Iluminação e FotoRealismo 32003/04

Premissas• A geometria é subdividida em patches Pi (geralmente poligonais)

• A qualidade da solução final depende da granularidade da subdivisãoem patches

• Esta pode ser decidida antes da execução (e.g. radiosidade hierárquica) ou refinada em tempo de execução

Page 4: Iluminação e FotoRealismo

Iluminação e FotoRealismo 42003/04

Premissas

• O coeficiente de reflexão difuso é constante para cada patch

iPxix ∈∀= ,)( ρρ

• A radiosidade é constante para cada patch

∫ ∂=i

iA Ai

i xBA

B )(1

Page 5: Iluminação e FotoRealismo

Iluminação e FotoRealismo 52003/04

Formulação matemática• A equação de rendering cada ponto x de um patch i é :

∫ ∂+=A Aeii y

yxGyxVyBxxBxB ),(),()()()()(πρ

• Integrando para a área de Pi (Ai) e assumindo que B e ρ são constantes para Pi

∫ ∫ ∂∂+=i

iyA AA Ai

dieiiiyxGyxVyB

AABAB

πρ ),(),()(1

• Convertendo o integral da área de todos os outros patches num somatório dasvárias áreas dos patches Pj

∑ ∫ ∫ ∂∂+=j

A AA Ai

dieiiii

ij

j

yxGyxVyBA

ABABπ

ρ ),(),()(1

Page 6: Iluminação e FotoRealismo

Iluminação e FotoRealismo 62003/04

Formulação matemática• Assumindo que a radiosidade é constante ao longo de cada patch Pj

∑ ∫ ∫ ∂∂+=j

A AA Ai

jjdieiiii

ij

j

yxGyxVA

ABABABπ

ρ ),(),(1

Obtemos a equação da radiosidade

∑+=j

jii

jjdeii FAA

BBB ρ

• Dividindo dos 2 lados por Ai

∑ ∫ ∫ ∂∂+=j

A AA Aii

jjdeii

ii

jj

yxGyxVAA

ABBB

πρ ),(),(1

Page 7: Iluminação e FotoRealismo

Iluminação e FotoRealismo 72003/04

Formulação matemática

∑+=j

jii

jjdeii FAA

BBB ρ

Fji é designado por form-factor e indica a fracção de radiosidade emitida por Pj queincide em Pi. Os form factors exibem a seguinte propriedade:

i

jjiijiijjji A

AFFAFAF =⇔=

logo:

∑+=j

ijjdeii FBBB ρ

Page 8: Iluminação e FotoRealismo

Iluminação e FotoRealismo 82003/04

Form-Factors - complexidade

ii j

ii j

AAjA A

jiji

iij

AAjA A

jiji

iij

ryxV

AF

yxGyxVA

F

∂∂=

∂∂=

∫ ∫

∫ ∫

2

)cos()cos(),(1

),(),(1

πθθ

π

O form factor é um integral duplo de difícil resolução analítica.Indica a quantidade de radiosidade emitida pelo patch j que incide no patch i.O seu valor depende da geometria: visibilidade mútua, distância, orientação e área

dos patches.O cálculo dos form-factors tem uma complexidade O(n2), podendo rapidamente

tornar-se a componente mais dispendiosa do algoritmo.

Page 9: Iluminação e FotoRealismo

Iluminação e FotoRealismo 92003/04

Sistema de equações

∑+=j

ijjdeii FBBB ρ

Num ambiente fechado existe uma solução para cada Bi que pode ser obtida resolvendo um sistema de n equações com n2 form-factors

⋅⋅=

⋅⋅

−⋅⋅−−⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

−⋅⋅−−−⋅⋅−−

en

e

e

nnnnnnnn

n

n

B

BB

B

BB

FFF

FFFFFF

2

1

2

1

21

22222212

11121111

1

11

ρρρ

ρρρρρρ

Page 10: Iluminação e FotoRealismo

Iluminação e FotoRealismo 102003/04

Propriedades do sistema de equações• Os valores Bei são diferentes de 0 apenas para os patches correspondentes a

fontes de luz

• Fii é igual a 0 para patches planares ou convexos.O patch não emite radiosidade sobre si mesmo.

• Em ambientes complexos um grande número de Fij serão 0 pois os patches Pie Pj não são mutuamente visíveis

• A matriz de form-factors é uma matriz dispersa que pode ser resolvidanumericamente usando o método de Gauss-Seidel

• Bi, Bei e ρi são dependentes do comprimento de onda, implicando a resolução de 3 sistemas.

• Os form-factors num meio participativo também são dependentes do comprimento de onda. Este aspecto é geralmente ignorado devido àcomplexidade do cálculo.

Page 11: Iluminação e FotoRealismo

Iluminação e FotoRealismo 112003/04

Rendering• As radiosidades são calculados no espaço dos objectos.

• O hardware gráfico pode ser usado para interpolar a radiosidade aolongo de cada patch (Gouraud shading) desde que as radiosidadesnos vértices sejam conhecidas. Sintetiza-se assimuma imagem a partirde qualquer ponto de vista.

Ba Bb

Bc Bd

4dcba BBBB +++

Page 12: Iluminação e FotoRealismo

Iluminação e FotoRealismo 122003/04

Resolução do sistema - gathering• O método de Gauss-Seidel computa aproximações Bi

t a partir daaproximação Bi

t-1. A resolução é feita linha a linha calculando um Bit em cada

iteração.• Bi

0 = Bei, sendo 0 para todos os patches não auto-emissores.

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

+

⋅=

1

1

11

21

11

tn

ti

t

iniiiii

en

ei

e

tn

ti

t

B

B

B

FFF

B

B

B

B

B

B

ρρρ

• Implica o cálculo inicial de todos os n2 form-factors.• Cada patch Pi recolhe (gathers) radiosidade de todos os outros patches.• Cada avaliação da matriz calcula apenas um Bi

t

Page 13: Iluminação e FotoRealismo

Iluminação e FotoRealismo 132003/04

Radiosidade Progressiva• A principal desvantagem do método anterior é que cada iteração

aproxima a iluminação de apenas um patch

• Implica também o cálculo inicial de todos os n2 form-factors

• O objectivo da radiosidade progressiva é conseguir rapidamente umaaproximação à radiosidade de todos os patches

• Esta solução é depois refinada com mais iterações

• O refinamento progressivo é conseguido reordenando a forma como a radiosidade é calculada

Page 14: Iluminação e FotoRealismo

Iluminação e FotoRealismo 142003/04

Radiosidade Progressiva• Em lugar de calcular a aproximação Bi

t devida a todos os patches Pjcom radiosidade Bj

t-1 vamos calcular a radiosidade Bjt de todos os

patches Pj devida à radiosidade Bit-1 do patch Pi

j

iijijjiijij AAFBFBBB ρρ == a devida

• Em cada iteração podemos calcular a variação de radiosidade ∆Bjpara todos os Pj devida ao patch Pi.

• Bjt+1 = Bj

t + ∆Bj

• Para cada iteração apenas é necessário calcular n form-factors Fij para o patch i cuja radiosidade Bi

t está a ser propagada (shooting)

Page 15: Iluminação e FotoRealismo

Iluminação e FotoRealismo 152003/04

Radiosidade progressiva

⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅

⋅⋅

⋅⋅

+

⋅⋅=

⋅⋅

+

+

+

nin

i

i

ti

tn

t

t

tn

t

t

F

FF

B

B

BB

B

BB

ρ

ρρ

221

11

2

1

1

12

11

44 344 214434421jj B

j j

iijj

ti

tj

B

jjij

ti

tj

tj A

AFBBFBBB

∆∆

+ ∑∑ +=+= )()(1 ρρ

Page 16: Iluminação e FotoRealismo

Iluminação e FotoRealismo 162003/04

Radiosidade Progressiva

• Inicialmente Bi0=Bei

0. Qual deve ser a ordem pela qual se seleccionamos patches Pi que vão propagar a sua radiosidade?

• Estes devem ser ordenados por Bit. O patch Pi com maior radiosidade

Bit deve ser o primeiro a propagar a sua radiosidade para que a

solução convirja o mais rapidamente possível.

• O processo para quando os ∆Bj forem menores que um determinado limite.

Page 17: Iluminação e FotoRealismo

Iluminação e FotoRealismo 172003/04

Radiosidade Progressiva

Geometria da cena

1 iteração 2 iterações

3 iterações 16 iterações

Page 18: Iluminação e FotoRealismo

Iluminação e FotoRealismo 182003/04

Radiosidade Progressiva

Page 19: Iluminação e FotoRealismo

Iluminação e FotoRealismo 192003/04

Refinamento da grelha de patches

• A qualidade da solução depende da granularidade da grelha de patches

• Em zonas de alto gradiente (e.g. limites das sombras) o carácterdiscreto dos patches pode ser muito visível

• A grelha de patches pode ser definida de forma estática, antes daexecução do algoritmo (e.g. radiosidade hierárquica [Hanrahan et al.91])

• ou refinada durante a execução do próprio algoritmo, e.g., discontinuity meshing

Page 20: Iluminação e FotoRealismo

Iluminação e FotoRealismo 202003/04

Refinamento da grelha de patches

Page 21: Iluminação e FotoRealismo

Iluminação e FotoRealismo 212003/04

Refinamento da grelha de patches

Page 22: Iluminação e FotoRealismo

Iluminação e FotoRealismo 222003/04

Cálculo dos form-factors

• Fij representa a fracção daradiosidade emitida por Pj queincide em Pi.

• O cálculo analítico dos form-factors é dispendioso, recorrendo-se a soluçõesgeométricas.

ii j

AAjA A

jiji

iij r

yxVA

F ∂∂= ∫ ∫ 2

)cos()cos(),(1

πθθ

θi

θj

dAj

dAi

Patch i

Patch jr

Page 23: Iluminação e FotoRealismo

Iluminação e FotoRealismo 232003/04

Form-Factors: HemiCubo

Analogia de Nusselt -O polígono, a suaprojecção no hemicubo e a sua projecção nahemisfera têm todos o mesmo form-factor.

Esta analogia permiteusar projecções dos patches num hemicubopara calcular form factors

Page 24: Iluminação e FotoRealismo

Iluminação e FotoRealismo 242003/04

Form-Factors: Hemicubo

∑∆=q

qij FF

“pixel” A com área ∆A

A área ∆A é igual para todos os elementos do hemicubo. ∆Fq para cada elemento é dada por:

Patch j

Patch i

Ar

F jiq ∆=∆ 2

coscosπ

θθ Para todos os Fqonde Pj projecta

Page 25: Iluminação e FotoRealismo

Iluminação e FotoRealismo 252003/04

Form-Factors: Hemicubo

• Para cada patch i todos os patches j devem ser projectados no hemicubo.

• Vários patches j projectam no mesmo “pixel” do hemicubo

• O algoritmo deve armazenar o ID do patch que projecta no “pixel” e a distância entre Pi e Pj (à semelhança de um Z-buffer)

• Para cada “pixel” apenas o patch Pj mais próximo interessa, pois todosos outros estarão ocludidos por este.

Page 26: Iluminação e FotoRealismo

Iluminação e FotoRealismo 262003/04

Form-Factors: Ray Tracing• Em vez de usar um hemicubo pode ser usada uma hemisfera de raio 1

centrada em Pi, com a superfície dividida em áreas elementares.

• Cada área elementar corresponde aos ângulos (∆φ, ∆θ) com

)2sin(2sin

4/,...,1,0),(],2/,0[1,...,1,0),(],2,0[

/2

2 θπθθϕ

θθπθϕϕπϕ

πθϕ

kF

Akmm

kllk

lm =∆

∆∆=∆=∆=∈

−=∆=∈=∆=∆

∆φφ

∆θ

θ

Page 27: Iluminação e FotoRealismo

Iluminação e FotoRealismo 272003/04

Form-Factors: Ray Tracing• Cada área elementar (l,m) dá origem a um raio que determina qual o

patch Pj visível ao longo daquela direcção

• O form-factor Fij é dado pela soma dos ∆Flm

∆φφ

∆θ

θ

∑∆=q

lmij FF

• A opção pelo algoritmo do hemicubo ou pelo ray tracingdepende do desempenho dos algoritmos de projecção e ray tracing utilizados.

Page 28: Iluminação e FotoRealismo

Iluminação e FotoRealismo 282003/04

Radiosidade: Imagens

Page 29: Iluminação e FotoRealismo

Iluminação e FotoRealismo 292003/04

Radiosidade: Imagens

Page 30: Iluminação e FotoRealismo

Iluminação e FotoRealismo 302003/04

Radiosidade: Imagens

‘color bleeding’ – a parede brancaassume um tom avermelhado naszonas fortementeiluminadas devidoàs interreflexõesdifusas.Este efeito é de difícil modelaçãocom ray tracing.