Introdução à Computação Gráfica Radiosidade - ppt carregar
Introdução à Computação Gráfica Radiosidade
PublicouLarissa Peres Alterado mais de 5 anos atrás
Apresentação em tema: "Introdução à Computação Gráfica Radiosidade"— Transcrição da apresentação:
1 Introdução à Computação Gráfica Radiosidade
Claudio Esperança Paulo Roma Cavalcanti
2 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).
3 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).
4 Problemas com o Ray-tracing
1 1/8 1/64 1/2 1/16 1/32 1/4 A)
5 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.
6 G (energia absorvida)
Balanço de Energia G = αG + G + G  1 = α +  + . G (energia absorvida) G (energia incidente) G (energia refletida) G (energia transmitida)
7 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.
8 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.
9 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.
10 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 ( = 0). Corpo negro é uma idealização que pode ser imaginado como uma cavidade numa superfície com α < 1 (buraco de fechadura). Gn= (1- α)n G0.
11 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).
12 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, α = .
13 Área Aparente (Vista de uma dada direção d)
 A A' = A cos()
14 É a área determinada pela interseção de um cone com a esfera unitária.
Ângulo Sólido É a área determinada pela interseção de um cone com a esfera unitária.
15 Ângulos Sólidos Elementares
16 Grandezas Radiométricas
Irradiância: d dA
17 Radiância Referente a um par de Elementos de Área:
Uma área elementar da superfície do objeto observado ( A1 ). Área do sensor que recebe energia de A1 ( A2). Sensor A2 Radiância = Potência / (Ângulo Sólido (preto) Área Aparente (cone azul)) Objeto A1
18 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. Para um corpo negro: dq1-2= Ibcos()dA1d O ângulo sólido unitário  é definido por: d = dA2/r2.
19 Irradiância Integrando sobre todo o hemisfério: dA2 = r d (r sin() d). Logo, Determinante do Jacobiano da transformação para coordenadas esféricas é r2sin().
20 Irradiância que para um corpo negro (Ib=cte) resulta em:
Potência emissiva (irradiância) de um corpo negro é igual a  vezes a intensidade da radiação (radiância). Corpo negro absorve toda a radiação e emite calor!
21 Interação entre Dois Elementos de Superfície
22 Fator de Forma Fator de Forma é a parcela de energia que deixa um elemento de superfície e atinge um outro elemento.
23 Troca de Energia A energia irradiada por dA1 que incide em dA2 é:
dq1-2= Ibcos(1)dA1d1-2 d1-2 é a área de dA2 vista por dA1. d1-2 = cos(2)dA2/r2 A energia total irradiada por dA1 é: dq = Ib dA1 Assim, a troca de energia entre dois elementos infinitesimais é dependente somente da geometria:
24 Fator de Forma Supondo que um emissor infinitesimal transmite energia para uma superfície finita: Como Ib1 e dA1 são independentes de dA2
25 Fator de Forma No caso da troca de energia entre duas superfícies Lambertianas finitas:
26 Propriedades Existem 4 relações entre fatores de forma que devem ser entendidas. Natureza aditiva (quando o receptor é dividido): Subdivisão do emissor.
27 Teorema da Reciprocidade
Soma dos fatores de forma num ambiente fechado é 1. Teorema da reciprocidade (A1F1-2=A2F2-1).
28 Reciprocidade Simetria: Fk,i. Ak = Fi,k . Ai
29 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.
30 Cornell Program of Computer Graphics
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
31 Hemicubo para Computar Fatores de Forma
a) 145 retalhos b) 1021 retalhos c) refinamento de b) por subdivisão adaptativa com 1036 sub-retalhos
32 Sistema Linear Para uma superfície plana, Fii=0.
33 Um Exemplo Fatores de Forma: g = b/a
34 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.
35 Cálculo dos Fatores de Forma
Necessidade de avaliar uma integral de superfície dupla. Inviável computacionalmente para ambientes complexos. Ineficiente computacionalmente.
36 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.
37 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.
38 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. Aj Nj j r Ni i dAj
39 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.
40 Hemicubo
41 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).
42 Soma dos Fatores Delta
43 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.
44 Pré-cálculo dos Fatores Delta
Na superfície no topo do hemicubo: Na superfície lateral perpendicular a x:
45 Geometria para Cálculo dos Fatores Delta
46 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.
47 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.
48 Bi(k+1) = 110% Bj(k+1) – 10% Bj(k)
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 – Sji Mij Bj(k) Radiosidade = Emissão mais outras radiosidades refletidas Gauss-Siedel Bi = Ei – Sji Mij Bj Cálculo no local. Sobre-relaxação Bi(k+1) = 110% Bj(k+1) – 10% Bj(k) Gauss-Siedel é muito conservativo Bi
49 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.
50 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.
51 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;
52 Disparo Bj(k+1) = Bj(k) + jFji Bi Bi = Bj(k) – Bj(k-1) Bi
ú û ù ê ë é = - n E B F M L O 2 1 21 12 r Refinamento Progressivo Distribui radiosidade extra Bi pelos outros retalhos Bj(k+1) = Bj(k) + jFji Bi Radiosidade extra "não disparada" é o que recebemos da ú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
53 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 d e f g h i 1 2 3 4 Be=B1+B2+B3+B4 (Bb+Be)/2=(B1+B2)/2 (Ba+Be)/2 = B1
54 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.
55 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.
56 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.
57 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.
58 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.
59 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
60 Iteração de Jacobi
61 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.
62 Iteração de Gauss-Seidel
63 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.
64 Iteração de Southwell
65 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.
66 Iteração com Sobre-relaxação.
67 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.
68 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.
69 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.
70 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.
71 Um Exemplo Real Refinamento progressivo depois de 1, 2, 24 e 100 passos. 500 retalhos, 7000 sub-retalhos. Radiosidade ambiente estimada foi adicionada.