Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

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: Radiosidade Luís Paulo Peixoto dos Santos .

Page 1: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo:Radiosidade

Luís Paulo Peixoto dos Santos

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

Page 2: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 2

2003/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

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

)(

)(),(x

xfxf drr

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

Page 3: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 3

2003/04

Premissas

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

• A qualidade da solução final depende da granularidade da subdivisão em 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: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 4

2003/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: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 5

2003/04

Formulação matemática

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

A Aeii y

yxGyxVyBx

xBxB ),(),()()(

)()(

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

i

iyA AA Ai

dieiii

yxGyxVyB

AABAB

),(),(

)(1

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

j

A AA Ai

dieiiii

ij

j

yxGyxVyB

AABAB

),(),(

)(1

Page 6: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 6

2003/04

Formulação matemática

• Assumindo que a radiosidade é constante ao longo de cada patch Pj

j

A AA Ai

jjdieiiii

ij

j

yxGyxV

AABABAB

),(),(1

Obtemos a equação da radiosidade

j

jii

jjdeii FA

ABBB

• Dividindo dos 2 lados por Ai

j

A AA Aii

jjdeii

ii

jj

yxGyxV

AA

ABBB

),(),(1

Page 7: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 7

2003/04

Formulação matemática

j

jii

jjdeii FA

ABBB

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

i

jjiijiijjji A

AFFAFAF

logo:

j

ijjdeii FBBB

Page 8: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 8

2003/04

Form-Factors - complexidade

ii j

ii j

AAjA A

jiji

iij

AAjA A

jiji

iij

r

yxV

AF

yxGyxV

AF

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: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 9

2003/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

B

B

B

B

B

FFF

FFF

FFF

2

1

2

1

21

22222212

11121111

1

1

1

Page 10: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 10

2003/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 Pi e Pj não são mutuamente visíveis

• A matriz de form-factors é uma matriz dispersa que pode ser resolvida numericamente 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: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 11

2003/04

Rendering

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

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

Ba Bb

Bc Bd

4dcba BBBB

Page 12: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 12

2003/04

Resolução do sistema - gathering

• O método de Gauss-Seidel computa aproximações Bit a partir da

aproximação Bit-1. A resolução é feita linha a linha calculando um Bi

t em cada iteração.

• Bi0 = 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 Bit

Page 13: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 13

2003/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 uma aproximaçã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: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 14

2003/04

Radiosidade Progressiva

• Em lugar de calcular a aproximação Bit devida a todos os patches Pj com

radiosidade Bjt-1 vamos calcular a radiosidade Bj

t de todos os patches Pj devida à radiosidade Bi

t-1 do patch Pi

j

iijijjiijij A

AFBFBBB a devida

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

• Bjt+1 = Bj

t + ΔBj

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

t está a ser propagada (shooting)

Page 15: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 15

2003/04

Radiosidade progressiva

nin

i

i

ti

tn

t

t

tn

t

t

F

F

F

B

B

B

B

B

B

B

221

11

2

1

1

12

11

jj B

j j

iijj

ti

tj

B

jjij

ti

tj

tj A

AFBBFBBB

)()(1

Page 16: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 16

2003/04

Radiosidade Progressiva

• Inicialmente Bi0=Bei

0. Qual deve ser a ordem pela qual se seleccionam os 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: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 17

2003/04

Radiosidade Progressiva

Geometria da cena

1 iteração 2 iterações

3 iterações 16 iterações

Page 18: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 18

2003/04

Radiosidade Progressiva

Page 19: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 19

2003/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ácter discreto dos patches pode ser muito visível

• A grelha de patches pode ser definida de forma estática, antes da execuçã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: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 20

2003/04

Refinamento da grelha de patches

Page 21: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 21

2003/04

Refinamento da grelha de patches

Page 22: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 22

2003/04

Cálculo dos form-factors

• Fij representa a fracção da radiosidade emitida por Pj que incide em Pi.

• O cálculo analítico dos form-factors é dispendioso, recorrendo-se a soluções geomé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: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 23

2003/04

Form-Factors: HemiCubo

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

Esta analogia permite usar projecções dos patches num hemicubo para calcular form factors

Page 24: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 24

2003/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 Fq

onde Pj projecta

Page 25: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 25

2003/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 todos os outros estarão ocludidos por este.

Page 26: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 26

2003/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(2

sin

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

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

/2

2

kF

A

kmm

kll

k

lm

Δφφ

Δθ

θ

Page 27: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 27

2003/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 tracing depende do desempenho dos algoritmos de projecção e ray tracing utilizados.

Page 28: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 28

2003/04

Radiosidade: Imagens

Page 29: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 29

2003/04

Radiosidade: Imagens

Page 30: Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos .

Iluminação e FotoRealismo 30

2003/04

Radiosidade: Imagens

‘color bleeding’ – a parede branca assume um tom avermelhado nas zonas fortemente iluminadas devido às interreflexões difusas.Este efeito é de difícil modelação com ray tracing.