Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.
Transcript of Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.
![Page 1: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/1.jpg)
Introdução à Computação GráficaRadiosidade
Claudio EsperançaPaulo Roma Cavalcanti
![Page 2: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/2.jpg)
Modelos Locais de Iluminação• Somente a luz direta ou a primeira reflexão numa
superfície são consideradas (modelos de primeira ordem).– Modelo de Phong.
• Completamente empírico.– Modelo de Cook e Torrance.
• Esquema híbrido que usa um modelo físico baseado na rugosidade das superfícies para calcular a intensidade da reflexão e um modelo de ondas para certos efeitos de cor.
– Modelo de Cabral.• Baseado completamente numa simulação física da rugosidade
de superfícies.– Modelo de Kajiya.
• Completamente baseado na teoria de ondas (the rendering equation).
![Page 3: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/3.jpg)
Modelos Globais de Iluminação
• Traçado de raios.– Usa um aspecto particular da interação luz-
objeto: reflexão especular.
• Radiosidade.– Favorece a interação de superfícies difusas em
detrimento da reflexão especular.– Baseado na teoria de transmissão de calor
(Engenharia Mecânica).
![Page 4: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/4.jpg)
1
1/21/4
1/8
1/161/32
1/64
A)
B)
Problemas com o Ray-tracing
![Page 5: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/5.jpg)
Definições e Propriedades
• Considere-se um raio ou um feixe de energia incidente num corpo:– α fração de energia incidente absorvida:
absorção. fração de energia incidente refletida:
reflectância. fração de energia incidente transmitida:
transmissão.
![Page 6: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/6.jpg)
Balanço de Energia
• G = αG + G + G 1 = α + + .
G (energia absorvida)
G (energia incidente)
G (energia refletida)
G (energia transmitida)
![Page 7: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/7.jpg)
Materiais
• Para maioria dos sólidos em engenharia = 0.
• Para líquidos a mesma suposição pode ser feita (mas depende da espessura).
• Para gases a reflexão é muito pequena e considera-se = 0.
![Page 8: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/8.jpg)
Modelos de Reflexão
• A reflexão da energia radiante por uma superfície é descrita em termos de dois modelos ideais: refletores difusos e especulares.
• Rugosidade da superfície tem uma grande influência sobre as propriedades térmicas dos materiais.
![Page 9: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/9.jpg)
Comportamento em função da rugosidade.
• Se os elementos de rugosidade da superfície são muito pequenos comparados ao comprimento de onda da radiação a superfície é especular.
• Se os elementos de rugosidade da superfície são muito grandes comparados ao comprimento de onda da radiação a superfície é difusa.
![Page 10: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/10.jpg)
Corpos Negros
• A superfície ideal para o estudo da radiação térmica é o corpo negro. – absorve toda a energia incidente em todos os
comprimentos de onda (reflectância = 0).
• Corpo negro é uma idealização que pode ser imaginado como uma cavidade numa superfície com 0 < α < 1 (buraco de fechadura).
Gn= (1- α)n G0.
G0
![Page 11: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/11.jpg)
Emissividade
• A energia total emitida por um corpo por unidade de área por unidade de tempo é chamada de irradiância (potência emissiva).
• Toda superfície não negra terá uma irradiância E menor do que a de um corpo negro à mesma temperatura.
= E/Eb (emissividade).
![Page 12: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/12.jpg)
Emissividade x Temperatura
• Para condutores, emissividades altas correspondem a altas temperaturas.
• O mesmo não é válido para não condutores.
• Pela lei de Kirchhoff, α = .
![Page 13: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/13.jpg)
Área Aparente(Vista de uma dada direção d)
d
A
A’
A’ = A cos()
![Page 14: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/14.jpg)
Ângulo SólidoÉ a área determinada pela interseção de
um cone com a esfera unitária.
![Page 15: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/15.jpg)
Ângulos Sólidos Elementares
![Page 16: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/16.jpg)
Grandezas Radiométricas
dA
dIrradiância:
![Page 17: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/17.jpg)
Energia Total Irradiada
• A energia total irradiada por um elemento de superfície dA1 é interceptada por um hemisfério imaginário centrado no elemento emissor.
• Seja q1-2 a energia que sai do emissor e atinge o sensor e I a radiância do emissor
• Então: dq1-2= I cos() dA1 d– O ângulo sólido unitário é definido por:
d = dA2/r2.
![Page 18: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/18.jpg)
Irradiância
• Integrando sobre todo o hemisfério: dA2 = r d (r sin() d). Logo,
ddr
drrdd )sin(
))sin((2
![Page 19: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/19.jpg)
Irradiância
que para um emissor difuso perfeito (corpo negro) I=cte resulta em:
• Potência emissiva (irradiância) de um corpo negro é igual a vezes a intensidade da radiação (radiância).
IEdA
q
1
21
2
0
2
0121 )sin()cos( ddIdAq
![Page 20: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/20.jpg)
Interação entre Dois Elementos de Superfície
![Page 21: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/21.jpg)
Fator de Forma
• Fator de Forma é a parcela de energia que deixa um elemento de superfície e atinge um outro elemento.
direções as todasem deixando totalradiante energia
de vindo atingindo radiante energia
i
ijAA A
AAF
ji
![Page 22: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/22.jpg)
Troca de Energia
• A energia irradiada por dA1 que incide em dA2 é:
dq1-2= I cos(1)dA1d1-2
onde d1-2 é a área de dA2 vista por dA1.
d1-2 = cos(2)dA2/r2
• A energia total irradiada por dA1 é: dq = I dA1
• Assim, a troca de energia entre dois elementos infinitesimais é dependente somente da geometria:
222121
)cos()cos(21 r
dA
dq
dqF dAdA
![Page 23: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/23.jpg)
Fator de Forma• Supondo que um emissor infinitesimal transmite
energia para uma superfície finita:
• Como I1 e dA1 são independentes de dA2
11
222111
/)cos()cos(2
21 dAIπ
rdAdAIF A
AdA
2221
)cos()cos(
2
21dA
rπF
A
AdA
![Page 24: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/24.jpg)
Fator de Forma
• No caso da troca de energia entre duas superfícies Lambertianas finitas:
1
1 2
21
11
222111
/)cos()cos(
A
A AAA
dAI
rdAdAI
F
21221
1
)cos()cos(
12 1
21dAdA
rAF
A AAA
![Page 25: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/25.jpg)
Teorema da Reciprocidade
• Soma dos fatores de forma num ambiente fechado é 1.
• Teorema da reciprocidade (A1F1-2=A2F2-1).
n
jAA ji
F1
0.1
21221
211
)cos()cos(2 1
dAdAr
FAA A
![Page 26: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/26.jpg)
Propriedades de Subdivisão
– Natureza aditiva (quando o receptor é dividido):
– Subdivisão do emissor.
2 )(2
2121dAFF
A dAdAAdA
11
)(1
12121
dAFA
FA AdAAA
![Page 27: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/27.jpg)
Reflectância Bi-direcional BRDF
Radiância que sai em uma direçãoRadiância que sai em uma direção
Irradiância que chega de outra direção(,r,r,i,i) =
Simetria: (d,d’) = (d’,d)
iiiii
iirrr
dI
I
)cos(),,(
),,(
,
,,,
![Page 28: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/28.jpg)
Superfícies LambertianasReflexão é idêntica em todas as direções
BRDF: (d,d’) = constante = 1/
dA
E = dP / dA =
= K . d / dA =
= K . (dA cosi / R2) / dA =
= (K / R2) cosi = C. cosi
d
L = (1/). E =
= (1/). C. cosi
![Page 29: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/29.jpg)
Radiosidade Clássica• Todas as superfícies são
opacas.• Todas as superfícies são
refletores difusos perfeitos ( = cte).
• Superfícies são discretizadas em retalhos pequenos (patches).
• Radiosidade constante nos retalhos.
• Irradiância constante nos retalhos.
![Page 30: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/30.jpg)
Conceito• Método de relaxação.
– Trata a iluminação global como um sistema linear.
– Requer BRDF constante (superfícies difusas).
– Resolve equação de iluminação como um problema matricial.
• Processo– Subdivide em retalhos.– Calcula fatores de forma.– Resolve radiosidade.– Exibe retalhos.
Cornell Program of Computer Graphics
![Page 31: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/31.jpg)
Hemicubo para Computar Fatores de Forma
a) 145 retalhos
b) 1021 retalhos
c) refinamento de b) por subdivisão adaptativa com 1036 sub-retalhos
![Page 32: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/32.jpg)
Sistema Linear
nnnnnnnnn
n
n
E
E
E
B
B
B
FFF
FFF
FFF
2
1
2
1
21
22222212
11121111
1
1
1
n
jjjjiiiiii ABFAEAB
1
n
jjijiii BFEB
1
jijiji FAFA
![Page 33: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/33.jpg)
Um Exemplo
2, 11
2
1ggF BA
2
,
11
11
2
1
ggF CB
ggF CA 2, 1
Fatores de Forma: g = b/a
1
1
1
,,
,,
,,
BCCACC
CBBABB
CAABAA
FF
FF
FF
K
![Page 34: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/34.jpg)
Prateleira Infinita
Só A emite e não reflete.
A emite e reflete.
Só B emite e não reflete.
A e B emitem e refletem.
![Page 35: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/35.jpg)
Cálculo dos Fatores de Forma
• Necessidade de avaliar uma integral de superfície dupla.
• Inviável computacionalmente para ambientes complexos.
• Ineficiente computacionalmente.
![Page 36: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/36.jpg)
Método Numérico
• Converte integral de superfície dupla numa integral de linha dupla (teorema de Stokes).
• Apropriado para ambientes simples.
• Método empregado no paper de 1984 de Goral.
![Page 37: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/37.jpg)
Método do Hemicubo
• Introduzido em 1985 pelo grupo de Cornell.• Distância entre dois retalhos é grande comparada a
área do retalho.– Integral interna não varia muito em relação a integral
externa.
– Integral área-área é aproximada pela integral diferencial-área.
2221
)cos()cos(
2
2121dA
rπFF
A
AdAAA
![Page 38: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/38.jpg)
Analogia de Nusselt
• Fator de forma é equivalente a fração do círculo unitário correspondente a projeção do retalho sobre o hemisfério, seguida pela projeção sobre a base do círculo.
dAj
Ni
Nj
i
j
r
Aj
![Page 39: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/39.jpg)
Discretização do Hemicubo
• Qualquer retalho que tenha a mesma projeção sobe o hemisfério tem o mesmo fator de forma.
• Pode-se projetar sobre um hemicubo ao invés de um hemisfério.
• Faces do hemicubo são divididas em pixels.– Cada pixel é considerado um retalho.
– Fatores diferencial-área são pré-calculados (fatores delta) e armazenados em uma tabela de busca.
![Page 40: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/40.jpg)
Hemicubo
![Page 41: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/41.jpg)
Oclusão
• Todo retalho de superfície é projetado no hemicubo.
• Se o mesmo pixel contiver a projeção de dois retalhos, usa-se aquela correspondendo ao retalho mais próximo (análogo ao z-buffer).
![Page 42: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/42.jpg)
Soma dos Fatores Delta
![Page 43: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/43.jpg)
Integração dos Fatores Delta
• Por fim teremos conjuntos conexos de pixels que são projeções dos retalhos mais próximos.
• Executa-se então a soma para cada Fij (q é o conjunto de pixels sobre o qual Aj se projeta.
q
qij FF
![Page 44: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/44.jpg)
Pré-cálculo dos Fatores Delta
• Na superfície no topo do hemicubo:
• Na superfície lateral perpendicular a x:
Ayx
Ar
Fqq
jiq
2222 )1(
1
)cos()cos(
Az
zF
q
222
q 1y
![Page 45: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/45.jpg)
Geometria para Cálculo dos Fatores Delta
x
![Page 46: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/46.jpg)
Projeção dos Retalhos
• Centro de projeção é o centro do hemicubo.
• Cada face do hemicubo define um frustrum de visão.
• Arestas do hemicubo definem planos de recorte.
• Retalhos são projetados sobre cada face do hemicubo.
![Page 47: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/47.jpg)
Traçado de Raios
• Pode-se usar uma esfera discretizada em elementos de área com fatores delta pré-calculados.
• Raios são lançados através de cada elemento de área da esfera.
• Considera-se a interseção com um retalho mais próxima do centro da esfera.
• Troca-se a complexidade do código hemicubo pela do código de traçado de raios.
![Page 48: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/48.jpg)
Acumulação• Resolve Ax = b como um sistema
linear MB = E• Solução de uma linha provê a
solução de um único retalho.• Intensidade de cada retalho é
atualizada de acordo com sua posição na matriz.
• Jacobi Bi
(k+1) = Ei – ji Mij Bj(k)
– Radiosidade = Emissão mais outras radiosidades refletidas
• Gauss-SeidelBi = Ei – ji Mij Bj
– Cálculo no local.• Sobre-relaxação
Bi(k+1) = 110% Bj
(k+1) – 10% Bj(k)
– Gauss-Seidel é muito conservativo
nnnnnn
n
n
E
E
E
B
B
B
FF
FF
FF
2
1
2
1
21
22212
11121
1
1
1
Bi
![Page 49: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/49.jpg)
Refinamento Progressivo
• A imagem inteira é atualizada a cada iteração, ao invés de um único retalho.
• Invertendo a relação:
• Requer um único hemicubo centrado em i.• Um único retalho atira luz na cena e as radiosidades de todos
os retalhos são atualizadas simultaneamente.• Fatores de forma são calculados on the fly.
jFBBB ijjij i , a devido
jA
AFBBB
j
iijij ij , a devido
![Page 50: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/50.jpg)
Algoritmo
• Um retalho é escolhido por vez para disparar luz.
• O retalho i dispara Bi, a radiosidade que recebeu desde a última iteração.
• Disparam primeiro os retalhos que influenciam mais a cena (BiAi maior).
• Inicialmente, Bi= Bi=Ei, para todo retalho.
![Page 51: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/51.jpg)
Pseudo-Código
Selecione retalho i;
Calcule Fij para cada retalho j;
Para cada retalho j faça {
Rad = j BiFij Ai /Aj;
Bj = Bj + Rad;
Bj = Bj + Rad;
}
Bi = 0;
![Page 52: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/52.jpg)
Disparo• Refinamento Progressivo• Distribui radiosidade extra
Bi pelos outros retalhosBj
(k+1) = Bj(k) + jFji Bi
• Radiosidade extra “não disparada” é o que recebemosda última iteração
Bi = Bj(k) – Bj
(k-1)
• Energia parte dos emissores• Distribui “progressivamente”
pela cena• Pode usar um termo
ambiente durante o processamento da cena, que é diminuído a medida que a radiosidade progressiva converge
Bi
IBM
nnnnnn
n
n
E
E
E
B
B
B
FF
FF
FF
2
1
2
1
21
22212
11121
1
1
1
![Page 53: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/53.jpg)
Calculando Radiosidade nos Vértices
• Uma vez obtidas as radiosidades nos retalhos, precisamos extrapolá-las para os vértices.
• Radiosidades nos vértices alimentam então um visualizador tipo Gouraud.
a b c
de f
g h i
1 2
3 4
Be=B1+B2+B3+B4
(Bb+Be)/2=(B1+B2)/2
(Ba+Be)/2 = B1
![Page 54: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/54.jpg)
Problemas da Solução por Inversão
• O sistema MB = E pode ser resolvido invertendo-se a matriz M.
• O tamanho de M é enorme e acarreta problemas de armazenamento e de inversão.– M é quadrada (n x n, n número de retalhos.)– Dobrar n quadruplica o número de elementos
de M.
![Page 55: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/55.jpg)
Métodos de Relaxação
• Vários métodos iterativos foram desenvolvidos que iniciam o vetor B com uma solução inicial e então a refinam até que o erro esteja dentro de uma tolerância pré-definida.
• Radiosidade utiliza métodos de relaxação.
![Page 56: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/56.jpg)
Um Pouco de Teoria
• Seja um sistema linear Kx = b, onde K é uma matriz n x n, x e b são vetores coluna de dimensão n.
• Será gerada uma série de soluções aproximadas x que devem convergir para a solução real.
• x(g) é a aproximação no passo g.
![Page 57: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/57.jpg)
Erro da Aproximação
• e(g) = x – x(g) é o erro.• r(g) = b – K x(g) = K e(g) é o resíduo.• Métodos de relaxação usam o resíduo para refinar
a aproximação e gerar o sucessor x(g+1).
• A estratégia é olhar para um elemento ri(g) do vetor
de resíduo e aplicar uma transformação ao elemento correspondente xi
(g) de forma a que ri(g)
0.
![Page 58: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/58.jpg)
Convergência
• Outros elementos de r podem crescer, mas espera-se que a tendência geral seja na direção de valores menores para todos os elementos do resíduo.
)(
)(
,
)()1(
,
)(,
1
)()(,
)(,
1
)(,
gi
ii
gig
i
ii
giii
n
kik
gi
gkkii
giii
n
ki
gkki
xK
rx
K
xKrxKbxK
bxK
![Page 59: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/59.jpg)
Parada
• Ajustar um elemento até que seu resíduo vá para zero é chamado de relaxamento do elemento.
• Critérios de parada são baseados numa tolerância t:
• max(|r|) < t
• |xi(g) – xi
(g+1)| < t
![Page 60: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/60.jpg)
Iteração de Jacobi
![Page 61: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/61.jpg)
Método de Gauss-Seidel
• Iteração de Gauss-Seidel é similar a de Jacobi.• Jacobi calcula o resíduo a partir do x(g) corrente e
os próximos elementos são computados a partir dele.
– Não se usam os novos valores x(g+1) até que todos os elementos tenham sido computados.
• Gauss-Seidel atualiza os valores no local e calcula o resíduo de novo para cada elemento.
![Page 62: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/62.jpg)
Iteração de Gauss-Seidel
![Page 63: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/63.jpg)
Método de Southwell
• Gauss-Seidel atualiza os elementos em ordem.– Se o resíduo é grande para um elemento e pequeno para
os outros, o elemento grande será processado uma única vez por iteração.
• Southwell usa uma heurística gulosa para relaxar os elementos de maior magnitude primeiro.– Um mesmo elemento pode ser ajustado repetidamente
em detrimento dos outros de menor magnitude.
![Page 64: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/64.jpg)
Iteração de Southwell
![Page 65: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/65.jpg)
Sobre-relaxação
• Pode ser usada com qualquer método.
• Ao invés de subtrair apenas a quantidade necessária de cada elemento para levar seu resíduo para zero, subtrai-se “a mais”.
• Esta é uma estratégia agressiva, que antecipa o futuro por um fator i.
![Page 66: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/66.jpg)
Iteração com Sobre-relaxação.
)()1(
)()()1(
)()()1(
)1(
se-usa invés ao ,
gii
gi
gii
gi
gi
gi
gi
gi
rr
xxx
xxx
![Page 67: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/67.jpg)
Interpretação dos Diversos Métodos
• Emissão é a primeira estimativa para radiosidade dos retalhos.
• Resíduo mede a diferença entre a emissão e a radiosidade refletida.
• Duas parcelas: radiosidade emitida (disparada) e não distribuída (ainda).– Resíduo mede quanta radiosidade a mais
deveria estar sendo emitida mas ainda não foi.
![Page 68: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/68.jpg)
Jacobi
• Jacobi atualiza todos os elementos do vetor de uma vez. – A radiosidade de cada retalho é incrementada para
representar a energia não distribuída.
– Este método não é muito usado.
• Um número pequeno de retalhos influenciam a cena no início.– É um desperdício atualizar todos os retalhos a cada
passo se eles não contribuem muito na luz da cena.
![Page 69: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/69.jpg)
Gauss-Seidel
• Atualiza a solução inteira a cada passo, mas usa os novos valores computados para ser mais eficiente.
• A equação de radiosidade é a soma da potência emitida e a refletida, acumulada de todos os outros retalhos da cena.
![Page 70: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/70.jpg)
Southwell
• Relaxa-se o elemento com o maior resíduo.• Significa que se usa o retalho com a maior
radiosidade não distribuída para disparar a sua energia na cena.– Começa com a maior fonte de luz e distribui a sua
energia para as outras superfícies.
• Refinamento progressivo usado por Cohen em 1995 emprega uma variante deste método.
![Page 71: Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti.](https://reader036.fdocumentos.tips/reader036/viewer/2022062418/552fc130497959413d8d4af3/html5/thumbnails/71.jpg)
Um Exemplo Real
• Refinamento progressivo depois de 1, 2, 24 e 100 passos.• 500 retalhos, 7000 sub-retalhos.• Radiosidade ambiente estimada foi adicionada.