Iluminação e FotoRealismo: Radiosidade Luís Paulo Peixoto dos Santos http://gec.di.uminho.pt/mcgav/ifr Premissas • Todas as interacções dos objectos com a luz são difusas L( x ) L( x), • Podemos então quantificar a radiosidade (W/m2) em vez da radiância B( x) L( x) cos(N x , ) w L( x) cos(N x , ) w L( x) • A BRDF fr (x,Θ↔Ψ) é independente das direcções f r ( x, ) f r ( x ) d ( x) A BRDF ρd (x) é o coeficiente de reflexão difuso (dependente de λ) Iluminação e FotoRealismo 2004/05 2 Premissas • A geometria é subdividida em patches, geralmente poligonais • A qualidade final depende da granularidade da subdivisão em patches • Esta pode ser decidida antes da execução ou refinada durante a mesma Iluminação e FotoRealismo 2004/05 3 Premissas • O coeficiente de reflexão difuso é constante para cada patch Pi ( x) i , xP i • A radiosidade é constante ao longo da área de cada patch Pi 1 Bi Ai Ai B( x) Ai Iluminação e FotoRealismo 2004/05 4 Formulação Matemática Bi Bei i B j Aj Ai j Fji • Fji é designado por form-factor e indica a fracção da radiosidade Bj reflectida por Pj que chega a Pi. Este valor relaciona-se apenas com a geometria da cena e exibe a seguinte propriedade: Fji Aj Fij Ai Fij logo: Aj Ai Fji Bi Bei i B j Fij j Iluminação e FotoRealismo 2004/05 5 Form factors - Complexidade 1 Fij Ai Ai A j V ( xi , x j ) cos(i ) cos( j ) r 2 Aj Ai • O form factor é um integral duplo de difícil resolução analítica • Indica a fracção de radiosidade emitida pelo patch i que incide no patch j • O seu valor depende da geometria: visibilidade mútua, distância, área e orientação relativa dos patches • O cálculo dos form factors tem uma copmplexidade O(n2), podendo rapidamente tornar-se a componente mais dispendiosa do algoritmo Iluminação e FotoRealismo 2004/05 6 Sistema de Equações Bi Bei i B j Fij j 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: 1 1 F11 1 F12 F 1 2 F22 2 21 n Fn1 n Fn 2 1 F1n B1 Be1 B 2 F2 n B2 e2 1 n Fnn Bn Ben Iluminação e FotoRealismo 2004/05 7 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 rediosidade sobre si mesmo • Em ambientes complexos a maioria dos Fij são 0, pois os patches i e j não são mutuamente visíveis • Bi, Bei e ρi são dependentes do comprimento de onda; implica resolver 3 sistemas para o espaço RGB • Fij num meio participativo também depende do comprimento de onda; aspecto geralmente ignorado devido à complexidade dos cálculos Iluminação e FotoRealismo 2004/05 8 Rendering • As radiosidades são calculadas 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 dos vértices sejam conhecidas. Sintetiza-se assim uma imagem a partir de qualquer ponto de vista. Ba Bb Bc Bd Ba Bb Bc Bd 4 Iluminação e FotoRealismo 2004/05 9 Resolução do sistema - gathering • • O método de Gauss-Seidel computa aproximações Bti a partir da aproximação Bt-1i. A resolução é feita linha a linha. B0i=Bei, sendo 0 para todos os patches não auto-emissores B1t Be1 Bit Bei i Fi1 B t Be n n • • • • i Fi 2 B1t 1 i Fin Bit 1 Bnt 1 Cada patch Pi recolhe (gathers) radiosidade de todos os outros patches A resolução de cada linha da matriz calcula apenas um Bti Uma iteração percorre todas as linhas; calcula novo Bti para todos os patches Uma iteração implica o cálculo de todos os n2 form factors Iluminação e FotoRealismo 2004/05 10 Radiosidade Progressiva • A principal desvantagem do método anterior é que a resolução de uma linha da matriz aproxima a iluminação de apenas um patch • Uma iteração aproxima a iluminação de todos os patches mas implica o cálculo de n2 form factors • O objectivo da radiosidade progressiva é conseguir rapidamente uma aproximação à iluminação de todos os patches • Esta aproximação é refinada com mais iterações • O refinamento prograssivo é conseguido reordenando a forma como a radiosidade é calculada Iluminação e FotoRealismo 2004/05 11 Radiosidade Progressiva - shooting • A radiosidade clássica (gathering) calcula, para cada linha, a radiosidade de um patch i, Bti, devida à radiosidade de todos os patches Bt-1j • A radiosidade progressiva (shooting) calcula, para cada coluna, a radiosidade Btj de todos os patches devida à radiosidade Bt-1i do patch i B j B j devida a Bi j Bi Fji • Btj = Bt-1j+∆Bj • Para cada coluna da matriz apenas é necessário calcular n form factors para o patch Pi cuja radiosidade está a ser propagada (shooting) Iluminação e FotoRealismo 2004/05 12 Radiosidade Progressiva B1t B1t 1 1 F1i t t 1 B2 B2 2 F2i Bit 1 B t B t 1 F n ni n n B B t j t 1 j B j Fji t 1 i B j Iluminação e FotoRealismo 2004/05 13 Radiosidade Progressiva • Inicialmente Bi0=Bei. • 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 no instante t 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. Iluminação e FotoRealismo 2004/05 14 Radiosidade Progressiva 1 iteração 2 iterações 3 iterações 16 iterações Geometria da cena Iluminação e FotoRealismo 2004/05 15 Radiosidade Progressiva Iluminação e FotoRealismo 2004/05 16 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 • ou refinada durante a execução do próprio algoritmo, e.g., discontinuity meshing Iluminação e FotoRealismo 2004/05 17 Refinamento da grelha de patches Iluminação e FotoRealismo 2004/05 18 Refinamento da grelha de patches Iluminação e FotoRealismo 2004/05 19 Cálculo dos form-factors 1 Fij Ai Ai Aj V ( xi , y j ) cos( i ) cos( j ) r 2 Aj Ai • Fij representa a fracção da radiosidade emitida por Pj que incide em Pi. • O cálculo analítico dos formfactors é dispendioso, recorrendo-se a soluções geométricas. θ dAj θi rj dAi Patch i Iluminação e FotoRealismo 2004/05 20 Form factors - HemiCubo • Analogia de Nusselt – O polígono, as suas projecções no hemicubo e na hemisfera têm os mesmos form factors • Esta analogia permite usar projecções dos patches no hemicubo para calcular form factors Iluminação e FotoRealismo 2004/05 21 Form factors - HemiCubo Pixel com área ∆A Patch j A área ∆A é igual para todos os elementos (pixeis) do hemicubo. ∆Fq para cada elemento é dado por: Fq cos i cos j r2 A Fij Fq q Iluminação e FotoRealismo 2004/05 22 Form factors - HemiCubo • Para cada patch i todos os patches j devem ser projectados no hemicubo • Vários patches 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çe do Z-buffer) • Para cada pixel apenas o patch Pj mais próximo interessa, pois todos os outros estarão ocludidos por este. Iluminação e FotoRealismo 2004/05 23 Form factors: ray tracing • Em vez do hemicubo pode ser usada a hemisfera unitária centgrada em Pi, com a superfície dividida em áreas elementares • Cada área elementar corresponde aos ângulos (∆φ,∆θ) 2 / k [0,2 [, l * , l 0,1,...,k 1 [0, / 2[, m * , m 0,1,...,k / 4 A sin 2 Flm 2 sin(2 ) k ∆θ θ φ ∆φ Iluminação e FotoRealismo 2004/05 24 Form factors: ray tracing • Cada área elementar dá origem a um raio que determina qual o patch visível ao longo daquela direcção Fij Flm q ∆θ • A opção pelo hemicubo ou pelo ray tracing depende do desempenho dos algoritmos de projecção e de intersecção utilizados θ φ ∆φ Iluminação e FotoRealismo 2004/05 25 Radiosidade: Imagens Iluminação e FotoRealismo 2004/05 26 Radiosidade: Imagens Iluminação e FotoRealismo 2004/05 27 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. Iluminação e FotoRealismo 2004/05 28