Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo...

26
Figura 1. Ângulos de incidência, reflexão e transmissão.

Transcript of Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo...

Page 1: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

422 CAPÍTULO 14: ILUMINAÇÃO

Figura 1. Ângulos de incidência, reflexão e transmissão.

Um princípio básico que governa a propagação da luz é o da conservação da energia.Assim, a energia que chega a uma superfície de separação entre dois meios é refletida,transmitida ou absorvida. Ou seja, a soma das energias refletida, transmitida e absorvidaé igual à energia incidente.

Nesta seção vamos estudar a interação da energia luminosa com algumas superfí-cies idealizadas e determinar as leis de propagação nessas superfícies. Inicialmenteintroduzimos algumas notações (ver Figura 1). Se S é superfície e p ∈ S, indicamospor n o vetor normal a S em p. Dado um observador num ponto O o vetor unitárioωr = (O − p)/|O − p| é chamado de vetor do observador(“eye vector”). Se um raioluminoso incide em S no ponto p, chamamos de ângulo de incidênciaθi o ângulo que oraio forma com o vetor normal n. O vetor unitário na mesma direção do raio incidente,porém em sentido contrário, é chamado de vetor de incidênciae será representado porωi . Note que cos θi = 〈ωi,n〉. O plano formado pelo vetor de incidência ωi e pelo vetornormal n à superfície, é chamado de plano de incidência. Os outros ângulos e vetoresmostrados na Figura 1 serão definidos mais adiante.

Existem três tipos de material considerados perfeitos do ponto de vista da interaçãocom a energia luminosa: o refletor especular perfeito, o transmissor perfeito, e o difusorperfeito ou Lambertiano.

Refletor especular perfeito

Uma superfície S é um refletor especular perfeitoquando ela satisfaz a lei lei de reflexãoespecular:

“Para cada raio incidente, existe um único raio de reflexão, que está contidono plano de incidência, e além disso os ângulos de incidência e de reflexãosão iguais,θi = θs .”

O vetor unitário na direção do raio refletido especularmente será indicado por vs . AFigura 1 ilustra a geometria da reflexão especular. Note que cos θs = 〈n, vs〉.

Page 2: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

SEÇÃO 2: A NATUREZA DA LUZ 425

Figura 2. Materiais e padrões de reflexão e transmissão.

Reflectância

No Apêndice estudamos a função BRDF , que relaciona a radiância emitida por umasuperfície com a irradiância incidente e desse modo caracteriza completamente o materialdo ponto de vista da interação com a energia radiante. Como vimos, a BRDF assumevalores no intervalo [0,+∞). Uma outra função que estabelece relações entre energiaincidente e refletida num ponto x, e é mais simples e intuitiva do que a BRDF , é areflectância, indicada por ρ. Dada uma direção de incidência ωi , ρ mede a fração dadensidade do fluxo radiante refletido pela superfície em todas as direções em relação àdensidade de fluxo radiante incidente na superfície na direção ωi .

ρ = Densidade de fluxo radiante refletido

Densidade de fluxo radiante incidente= dBr

dEi. (14.2)

Observe que a reflectância desempenha um papel semelhante à BRDF , comparando aenergia radiante refletida (radiosidade) com a energia radiante incidente (irradiância).Entretanto como ela compara as mesmas grandezas de energia radiante, seus valores sesituam no intervalo [0, 1] (pelo princípio da conservação a superfície não pode refletir maisenergia do que a energia incidente, a não ser que ela emita energia). Além disso, sendoo quociente entre as mesmas grandezas radiométricas, podemos medir a reflectânciaem relação a outras grandezas tais como intensidade radiante, ou densidade de fluxo.Devemos ressaltar que dependendo da região de integração para medir a energia refletidatemos diversos tipos de reflectância. O tipo mais comum é a reflectância hemisféricadirecional onde calculamos a radiosidade total no hemisfério superior. A reflectânciahemisférica bidirecionalcalcula para cada direção incidente e refletida, exatamente comoa BRDF . O contexto deve sempre esclarecer o tipo de reflectância utilizado.

A radiosidade total da energia radiante refletida pela superfície é dada por B.

dBr =∫�

Lr(x, θr , ϕr) cos θrdωr. (14.3)

Page 3: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

SEÇÃO 2: A NATUREZA DA LUZ 427

Figura 3. Modelo de reflexão especular-difuso.

luz primáriasporque na prática outros objetos do cenário emitem luz indiretamente porreflexão (esses objetos são chamados de fontes de luz secundárias).

Para os propósitos da Computação Gráfica podemos classificar as fontes de luz emquatro categorias mais comuns:

• Luz Direcional.

• Luz Pontual.

• Luz Focalizada.

• Luz com área.

A luz direcionalimplementa uma fonte de luz no infinito (i.e. muito distante) como osol. Ela se caracteriza por se propagar em uma direção e sua energia não é atenuada coma distância. Esse tipo de luz é especificada pela direção de propagação e pela energiaradiante emitida (radiosidade).

A luz pontualimplementa uma fonte de luz localizada num determinado ponto dacena, que irradia em todas as direções de forma isotrópica, como por exemplo, uma velaou uma lampada incandescente. Sua energia é atenuada com a distância. Esse tipo deluz é especificada pelo ponto de localização e pelo valor de energia radiante emitido.

A luz focalizada, também conhecida como luz spot, implementa uma luz pontualque possui um cone de iluminação de modo que a energia radiante emitida é nula foradesse cone. Essa fonte ilumina portanto uma região delimitada da cena da cena. Comoexemplos temos uma luminária de mesa ou um refletor de teatro. Ela é especificadapela sua posição na cena, pela energia emitida, e pelo seu cone de propagação luminosa(que pode ser parametrizado de forma a termos um foco de ângulo sólido variável). Umexemplo de luz spot é o Lux Junior da clássica animação da Pixar, que mostramos naFigura 4(a). Na Figura 4(b) mostramos uma cena sintética iluminada com uma luz spot.

Uma luz de árease caracteriza pelo fato de que a fonte de energia radiante possui umaárea finita e não nula. Essas fontes de luz produzem regiões de iluminação de sombratotal (umbra) e de sombras parciais (penumbra) na cena.

Page 4: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

428 CAPÍTULO 14: ILUMINAÇÃO

(a) (b)

Figura 4. Luz spot (a) e cena iluminada com luz spot (b).

Luz ambiente

Numa cena real a maioria dos objetos da cena funcionam como fontes de luz secundárias.Porém a modelagem dessa energia luminosa na equação de iluminação é difícil. Nosmodelos simples de iluminação utilizados em Computação Gráfica se utiliza o artifíciode criar uma luz ambiente. Ela possui um valor de irradiação constante e é adirecional:a sua luz quando refletida pelos objetos em cena possui o mesmo valor de irradiânciaindependente da posição ou orientação do objeto ou da posição do observador. Tudo sepassa na prática como se o objeto emitisse uma luz constante.

3 Um modelo de iluminação simples

Neste capitulo vamos estabelecer algumas hipóteses simplificadoras de modo a obter ummodelo de iluminação muito simples. Esse é o modelo que será utilizado para resolvero problema da iluminação, que é o objetivo do capítulo. Apesar de sua simplicidade omodelo tem dois pontos importantes:

• Ele é a base para se entender os modelos mais complexos de iluminação utilizadosem Computação Gráfica;

• Ele admite generalizações que permitem obter imagens virtuais de excelente qua-lidade.

Num cenário real a energia luminosa que chega até uma superfície provém da emissãodireta das fontes de luz (i.e. objetos que emitem luz própria) e da radiosidade indiretaproveniente de reflexões em outras superfícies do cenário.

A iluminação indireta é muito difícil de ser computada pois essencialmente ela impli-ca que todos os objetos em cena são fontes de energia luminosa, e além disso devemos

Page 5: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

SEÇÃO 3: UM MODELO DE ILUMINAÇÃO SIMPLES 429

Figura 5. Modelo de reflexão “difuso + especular-difuso”.

levar em conta problemas de oclusão. Desse modo, em nosso modelo de iluminaçãosimples vamos fazer uma aproximação grosseira para o cálculo da iluminação indireta: ailuminação indireta será substituída pela luz ambiente, conforme descrevemos na seçãoanterior. Não vamos considerar a energia transmitida (i.e. não teremos objetos translú-cidos), e além disso, vamos admitir que toda energia radiante que chega numa superfíciede uma fonte de luz direta parte é refletida como reflexão difusa, e parte como reflexãoespecular-difusa. Dentro dessas premissas, podemos escrever

Intensidade refletida = Ambiente+ Difusa+ Especular-difusa. (14.6)

A ilustração superior da Figura 5 mostra uma seção vertical do gráfico da reflectânciade uma superfície que obedece a equação de reflexão acima, como soma da reflectânciade um difusor Lambertiano e de um material que tem uma reflexão especular-difusa(estamos excluindo a reflexão da luz ambiente que é constante e adirecional). A seçãovertical do gráfico mostrado na figura é obtida pelo plano definido pelo vetor incidente epela normal (e que contém o vetor de reflexão especular). Como estamos supondo quea superfície é isotrópica, esse gráfico é o mesmo independente da direção de incidência.Na ilustração inferior da Figura 5 mostramos a geração de uma imagem sintética usandoesse modelo.

Uma ilustração da superfície de reflectância é mostrada na Figura 6 para duas direçõesde incidência distintas.

Para traduzir a equação (14.6) em termos matemáticos vamos considerar inicialmenteapenas uma fonte de luz (direta) �, e usar a seguinte notação:

• Ii é a intensidade de luz incidente proveniente da fonte de luz �;

• Ir é a intensidade total da luz refletida;

• Ia indica a intensidade a luz ambiente;

Page 6: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

430 CAPÍTULO 14: ILUMINAÇÃO

Figura 6. Reflectância do modelo “difuso + especular-difuso”.

• Id é a intensidade da reflexão difusa;

• Is é a intensidade da reflexão especular-difusa.

Os três termos à direita na equação (14.6) podem ser expressos matemáticamente por:

Reflexão ambiente = kaIa;Reflexão difusa = kdId;Reflexão difusa-especular = ksIs.

(14.7)

As constantes ka, kb e ks são características do material da superfície, e merecem umaexplicação:

ka Chama-se coeficiente de reflexão ambiente. Varia no intervalo [0, 1] e indica opercentual de luz ambiente que é refletida.

kd Chama-se coeficiente de reflexão difusa. Varia no intervalo [0, 1] e indica opercentual da energia incidente que é refletida de modo difuso.

ks Chama-se coeficiente de reflexão especular. Varia no intervalo [0, 1] e indica opercentual da energia incidente que é refletida de modo especular-difuso.

Substituindo os valores dados na equação (14.7) em (14.6) obtemos:

Ir = kaIa + kdId + ksIs, (14.8)

O termo Ia é constante, e é especificado pelo usuário. Precisamos agora calcularos termos Id e Is . Supondo que a superfície é um difusor perfeito, a reflexão difusa écalculada pela Lei de Lambert:

Id = Ii cos θi = Ii〈ωi,n〉. (14.9)

Page 7: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

SEÇÃO 3: UM MODELO DE ILUMINAÇÃO SIMPLES 431

Figura 7. Ângulo de observação.

Vamos agora determinar o termo Is da reflexão especular-difusa, ao contrário dacomponente difusa a nossa solução será empírica. Para isso, vamos nos basear emnosso cotidiano. Sabemos que na região do “highlight” na reflexão especular-difusatemos uma intensidade forte num ponto central que decai radialmente (esse fenômenopode ser observado quando olhamos para uma superfície metálica com um certo graude polimento). Isso ocorre porque há um espalhamento da energia refletida em torno dadireção de reflexão especular dada pela Lei de Snell-Descartes.

Não é difícil buscar um modelo matemático para esse fenômeno, sem compromissocom a física. Com efeito, considere a posição de um observador na direção em que a luzé refletida, e seja α o ângulo entre a direção do observador ωr e a direção de reflexãoespecular vs (ver Figura 7). A intensidade máxima refletida percebida pelo observadorocorre para α = 0, e à medida que α cresce essa intensidade diminui. Esse fato pode sermodelado por uma função diferenciável γ : [π/2, π/2] → R que satisfaça as seguintescondições: γ (0) = 1; γ (π/2) = 0; e γ é simétrica, i.e. γ (−α) = γ (α). Dada a funçãoγ (α) a componente de reflexão especular-difusa pode ser calculada pondo Is = Iiγ (α).

É fácil verificar que a função

γ (α) = cose α = 〈vs, ωr〉e, e ∈ [0,∞) (14.10)

satisfaz as condições acima. Na Figura 8 mostramos o gráfico da função γ para algunsvalores do expoente e.

Podemos portanto escrever

Is = Iiγ (α) = Ii〈vs, ωr〉e. (14.11)

Substituindo o valor de Is dado pela equação acima, juntamente com o valor de Iddado pela equação (14.9), na equação (14.8), obtemos:

Ir = kaIa + kdIi cos θi + ksIi cose(α)

= kaIa + kdIi〈ωi,n〉 + ksIi〈vs, ωr〉e. (14.12)

Page 8: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

432 CAPÍTULO 14: ILUMINAÇÃO

Figura 8. Coeficiente de especularidade.

O expoente e controla a taxa de decaimento da função que define o “highlight”.Quando e→+∞ a função se aproxima da função δ, o que significa que teremos reflexãoespecular perfeita (o “highlight” se reduz a um ponto). Por outro lado quando e → 0 aárea do “highlight” aumenta o que significa que a superfície é mais rugosa (aumenta oespalhamento da reflexão). Desse modo vemos que, do ponto de vista físico, o expeonte econtrola a rugosidade da superfície. Ele é chamado expoente de rugosidadeou expoentede Phong. A Figura 9 mostra “highlights” de diferentes áreas num cilindro, mudandoapenas o valor do expoente de Phong.

Portanto a energia refletida

Ir = Ir(p, ka, kd, ks, Ii, Ia,n, ωi, ωr),é uma função dos parâmetros que definem a geometria da superfície, o tipo de materiale as fontes de luz. Se ao invés de uma fonte de luz tivermos n fontes, �1, �2, . . . , �n eignoramos obstruções, basta somar a equação acima para levar em conta a contribuiçãode cada fonte. Obtemos então

Ir = kaIa + Ii+kd n∑

j=1

〈ωji ,n〉 + ksn∑j=1

〈vjs , ωr〉e . (14.13)

Figura 9. Diferentes highlights na mesma superfície.

Page 9: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

432 CAPÍTULO 14: ILUMINAÇÃO

Figura 8. Coeficiente de especularidade.

O expoente e controla a taxa de decaimento da função que define o “highlight”.Quando e→+∞ a função se aproxima da função δ, o que significa que teremos reflexãoespecular perfeita (o “highlight” se reduz a um ponto). Por outro lado quando e → 0 aárea do “highlight” aumenta o que significa que a superfície é mais rugosa (aumenta oespalhamento da reflexão). Desse modo vemos que, do ponto de vista físico, o expeonte econtrola a rugosidade da superfície. Ele é chamado expoente de rugosidadeou expoentede Phong. A Figura 9 mostra “highlights” de diferentes áreas num cilindro, mudandoapenas o valor do expoente de Phong.

Portanto a energia refletida

Ir = Ir(p, ka, kd, ks, Ii, Ia,n, ωi, ωr),é uma função dos parâmetros que definem a geometria da superfície, o tipo de materiale as fontes de luz. Se ao invés de uma fonte de luz tivermos n fontes, �1, �2, . . . , �n eignoramos obstruções, basta somar a equação acima para levar em conta a contribuiçãode cada fonte. Obtemos então

Ir = kaIa + Ii+kd n∑

j=1

〈ωji ,n〉 + ksn∑j=1

〈vjs , ωr〉e . (14.13)

Figura 9. Diferentes highlights na mesma superfície.

Page 10: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

SEÇÃO 4: CÁLCULO DA ILUMINAÇÃO 435

3. Buscar um modelo de iluminação que reflita melhor o fenômeno de propagação deenergia (i.e. um modelo com base conceitual na Física).

Vamos abordar o primeiro problema no restante deste capítulo. O segundo problemanão será estudado neste livro. Existe uma vasta literatura sobre o assunto. O trabalhopioneiro nessa área foi feito por de Cook-Torrance, (Cook & Torrance, 1981a), e JimBlinn, (Blinn, 1977), que se basearam no modelo de Torrance-Sparrow utilizado naFísica. Esse modelo calcula a BRDF a partir de uma modelagem da micro geometria dasuperfície utilizando microfacetas. O terceiro problema será abordado no último capítulo:“A equação de iluminação”.

4 Cálculo da iluminação

Agora que temos a equação de iluminação o próximo passo seria obter uma solução paradeterminar a função de colorização. Ocorre que a equação de Phong nos fornece a energialuminosa refletida por cada superfície de modo explícito. Noutros termos, a equação jáestá resolvida. Entretanto deve-se observar que um elemento fundamental para o cálculoda energia refletida num ponto é o vetor normal da superfície nesse ponto. No caso deobjetos BRep poliedrais, sabemos que o campo de vetores normais é representado pelovetor normal em cada um dos vértices dos polígonos. Portanto precisamos buscar ummétodo de reconstrução da função de iluminação num ponto arbitrário do polígono (VerFigura 10).

Observamos que temos duas escolhas à nossa disposição:

• Fazer o cálculo no sistema de coordenadas da cena;

• Fazer o cálculo no sistema de coordenadas do dispositivo.

Noutras palavras, fazer o cálculo antes ou depois de aplicar as transformações de câmera.

Figura 10. Reconstrução da função de iluminação.

Page 11: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

436 CAPÍTULO 14: ILUMINAÇÃO

Se optarmos por calcular a função de colorização após a transformação de câmera, deve-mos levar em conta que a transformação perspectiva não preserva algumas propriedadesgeométricas (e.g. os vetores normais deixam de ser normais após a transformação).

Temos três métodos de cálculo da função de colorização: Colorização constante (“flatshading”), colorização de Gouraud (“Gouraud shading”) e colorização de Phong (“Phongshading”). Vamos estudar esses métodos em seguida.

4.1 Colorização Constante

O trabalho pioneiro de cálculo da função de iluminação e colorização de superfíciesem Computação Gráfica foi publicado por Bouknight. Ele considerou superfícies BReppoligonais e utilizou apenas a componente difusa da energia refletida (Lei de Lambert),com fontes de luz direcionais. Para o cálculo da função de colorização num polígonoconsiderou o vetor normal do polígono, portanto em todo o polígono a componente difusada iluminação refletida é constante (Ver Figura 11(a)). Noutras palavras, o método calculauma função de iluminação constante em cada face da representação BRep.

Esse método de colorização constante também é conhecido como colorização deBouknight, ou ainda “flat shading”. Ele consiste em fazer o cálculo da função de ilumi-nação de cada face, projetar a face nas transformações de câmera e usar o valor obtidopara colorizar cada face projetada no processo de rasterização.

O método de Bouknight não é útil para gerar imagens realísticas porque ele dá destaqueao aspecto facetado da representação poliedral da superfície conforme mostramos naFigura 11(b).

4.2 Colorização de Gouraud

Gouraud implementou o primeiro método de reconstrução não constante da função decolorização. Esse método é conhecido pelo nome de colorização de Gouraud (“Gouraud

(a) (b)

Figura 11. Reflexão difusa constante (a); imagem colorizada com método de Bouknight (b).

Page 12: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

SEÇÃO 4: CÁLCULO DA ILUMINAÇÃO 437

shading”). Ele utilizou superfícies BRep poligonais, fontes de luz direcionais, usan-do apenas a componente difusa da energia refletida (Difusor Lambertiano). O métodoprocede do seguinte modo:

• Assume que cada polígono da representação tem um vetor normal em cada vértice;

• Calcula a função de iluminação em cada vértice usando a equação de Phong sema componente especular-difusa.

• Reconstrói a função de iluminação nos pontos do interior do polígono usando ométodo de interpolação abaixo.

A reconstrução de Gouraud é feita no espaço de tela, durante a rasterização. Ométodo supõe uma rasterização por “scanline”. Considere um ponto P , pertencente auma “scanline”MN conforme ilustrado na Figura 12(a). O valor da função de colorizaçãof em P , f (P ), é calculado como segue

a) Dada uma “scanline” MN , determinamos o lado do polígono que contém o pontoM (lado AB na figura), e o lado que contém o ponto N (lado CD na figura);

b) Interpolamos linearmente f (A) e f (B) para obter o valor de f no ponto M;

c) Interpolamos linearmente f (C) e f (D) para obter o valor de f no ponto N ;

d) Finalmente, interpolamos linearmente f (M) e f (N) para obter o valor desejadof (P ) no ponto P da “scanline”.

Observe que como a reconstrução calcula a função de iluminação nos vértices e inter-pola esses valores, se a superfície tiver um grau de especularidade alto e ocorrer que um

(a) (b)

Figura 12. Reconstrução de Gouraud (a); imagem colorizada com método de Gouraud (b).

Page 13: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

438 CAPÍTULO 14: ILUMINAÇÃO

“highlight” está localizado no interior de um polígono ele não será reconstruído. Por essarazão, o método de Gouraud ficou associado a um método de iluminação para reflexãodifusa. A Figura 12(b) ilustra o “teapot” colorizado com o método de Gouraud.

Não é difícil verificar que o método de reconstrução de Gouraud não tem unicidade,isto é, dependendo da orientação do polígono na tela o valor interpolado no ponto P podemudar. Entretanto, deixamos como exercício o fato de que se o polígono for um triânguloo método de reconstrução de Gouraud coincide com o método de interpolação usandocoordenadas baricêntricas – em particular, temos unicidade.

4.3 Colorização de Phong

Tendo desenvolvido a equação de iluminação que leva seu nome, Phong percebeu quedeveria ter um método de reconstrução mais preciso para levar em conta a componente dareflexão especular-difusa. Esse método é conhecido como colorização de Phong(“Phongshading”).

Como no método de Gouraud o método de Phong supõe que a superfície é representadautilizando BRep poliedral, e usa a mesma metodologia de interpolação para fazer areconstrução em cada polígono no espaço de tela (em particular a rasterização deve serpor “scanline”). Entretanto ao invés de calcular a função de iluminação nos vérticese reconstruí-la no interior do polígono, ele reconstrói o campo de vetores normais nointerior do polígono, e faz o cálculo da função de colorização no ponto usando o vetornormal reconstruído. Essa reconstrução é ilustrada na Figura 13(a). A Figura 13(b)mostra o “teapot” colorizado usando o método de Phong.

5 Traçado de raios

Até o momento não nos preocupamos com um modelo que inclua a componente transmi-tida da energia radiante. A razão é que os métodos de cálculo da função de colorização

(a) (b)

Figura 13. Reconstrução de Phong (a); Imagem colorizada com método de Phong.

Page 14: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

440 CAPÍTULO 14: ILUMINAÇÃO

Figura 14. Raios numa cena traçados a partir do observador.

interseção der com os objetos da cena que está mais próximo da origem0do raio.”

No capítulo de visibilidade vimos como uma solução desse problema pode ser utilizadopara determinar a visibilidade dos objetos em cena. Nesse caso, para cada pixel, resol-vemos o problema de lançamento de raio para o raio de visão do pixel, i.e. o raio cujaorigem é o olho do observador (centro ótico da câmera virtual) e que aponta na direçãodo centro do pixel. (Esse raio é chamado de raio de visãoou raio primário.)

O uso do traçado de raios para o cálculo da iluminação é mais complexo. Ao determinaro ponto visível do raio primário, utilizamos a equação local de iluminação para calcularo valor da radiância do pixel. Supondo que a superfície é de um material especulartemos um raio refletido, e, se além disso ela for de um material translúcido (e.g. vidro)temos um raio transmitido. Resolvemos então o problema de lançamento de raio paracada um desses raios e calculamos a iluminação nos pontos de interseção. Continuamoso processo sucessivamente. A radiância final do pixel é a soma de todas as radiânciasacumuladas.

Para ilustrar esse procedimento considere a cena ilustrada na Figura 15.Essa figura mostra quatro objetos em cena, sendo O1 e O3 transparentes e O2 e O4

opacos, e admitimos que todos eles são formados de materiais com alto grau de especu-laridade. O raio primário ao encontrar o objeto O1 é refletido no raio r1, e transmitidono raio t1; o raio r1 por sua vez ao atingir o objeto O3 produz o raio refletido r2 e otransmitido t2; por sua vez o raio t1 ao atingir a superfícieO2, que é opaca, produz o raiorefletido r3.

Além de determinar a visibilidade e o cálculo da iluminação, o método de traçado deraios permite a geração de sombras de um modo muito simples. De fato, em cada pontode interseção P , traçamos raios auxiliares, chamados raios de sombra, desse ponto até asfontes de luz. Resolvemos o problema de lançamento de raio para cada raio de sombrade modo a determinar a visibilidade da fonte de luz em relação ao ponto: se a distância

Page 15: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

SEÇÃO 5: TRAÇADO DE RAIOS 441

Figura 15. Caminho de um raio numa cena.

do ponto P até a fonte de luz é maior do que a distância de P até o ponto de interseção, afonte de luz está obstruída pela superfície de interseção. Se a fonte de luz está obstruídapor algum objeto da cena, o ponto P está numa região de sombra e consideramos nesseponto apenas a parcela de luz do ambiente.

O raio de sombra deve levar em conta superfícies translúcidas. (Também, deveriamoslevar em conta fontes de luz que são visíveis a partir de reflexões dos raios de sombra,porém esse fato é, em geral negligenciado nas implementações.) Na Figura 15 os raiosde sombra são mostrados de forma tracejada (observe que o raio de sombre s2 é obstruídopelo objetoO4). Estamos supondo na explanação acima que as fontes de luz são pontuais,portanto a sombra não tem região de penumbra (apenas de umbra). Para fontes de luznão pontuais o cálculo é mais complicado, pois devemos amostrar a fonte de luz paracalcular as regiões de umbra e penumbra.

Do ponto de vista de estrutura de dados, o procedimento acima gera uma árvore.Cada ponto de interseção é um nó da árvore e esse nó possui dois filhos correspondentesaos raios transmitido e refletido. A ilustração da esquerda na Figura 16 mostra a árvorecorrespondente ao cenário da Figura 15; a ilustração à direita mostra a mesma árvorecom os raios de sombra. Portanto do ponto de vista de programação o traçado de raiosé implementado como um algoritmo de busca nessa árvore onde em cada nó chamamos

Page 16: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

442 CAPÍTULO 14: ILUMINAÇÃO

Figura 16. Árvore do traçado de raios.

uma rotina para resolver o problema do lançamento de raio e o problema de cálculo dailuminação.

A cor do pixel é calculada somando a radiância calculada em cada ponto de interseção(nó da árvore). Em cada um desses pontos temos

I = Ilocal + Irefletida + Itransmitida. (14.23)

Onde Ilocal é a radiância calculada diretamente no ponto de interseção usando o modelode Phong. Os termos Irefletida e Itransmitida representam a radiância que chega até oponto de interseção devido à reflexão da luz em um outro objeto, ou à transmissão nocaso em que o objeto for translúcido.

Em resumo o método de traçado de raios utiliza a equação de iluminação local po-rém faz um cálculo global da iluminação integrando a equação ao longo dos caminhospercorridos pelo raio primário. Por essa razão é comum na literatura considerar que eleé um método de iluminação global. Entretanto um método de iluminação global develevar em conta uma equação de iluminação que realmente represente a troca de energiaentre os elementos de cena, principalmente a radiosidade proveniente da reflexão da luznos diversos objetos, que na equação local é grosseiramente aproximada pelo termo deenergia do ambiente.

Pelo que foi exposto acima, as superfícies devem ter um material com alto grau deespecularidade para que o método de traçado de raios funcione a contento.

5.2 Pseudo-código

Dividimos o pseudo-código do algoritmo de traçado de raios em um programa principal,Main, e duas funções Trace e Shade. O programa Main simplesmente lê cada pixel (x, y),chama a função Trace que retorna o valor de cor do pixel, e escreve esse valor no arquivoda imagem. O pseudo-código do programa principal é dado abaixo:

Page 17: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

SEÇÃO 6: ACELERAÇÃO DE TRAÇADO DE RAIOS 445

de recorte, quando a geometria do objeto é muito complexa podemos utilizar objetoslimitantes para decidir de modo mais eficiente se um raio não intersecta um determinadoobjeto. Dado um objeto O em cena consideramos um outro objeto O1 que satisfaz duascondições:

1. O ⊂ O1;

2. O1 possibilita um teste de interseção mais eficiente do que o objeto original O.

O objetoO1 é chamado de objeto limitanteeO de objeto limitado. (O objeto limitadopode ser desconexo, ou seja podemos ter vários objetos em cena para um único objetolimitante.) Uma vez definido o objeto limitante, testamos inicialmente se o raio intersectaesse objeto e só depois (se o resultado for positivo) testamos a interseção do raio com oobjeto limitado.

Pela segunda condição a geometria dos objetos limitantes devem possibilitar um testede interseção eficiente. Como candidatos a esses objetos podemos citar um paralelepípedoou uma esfera, principalmente no caso em que o paralelepípedo possui suas faces paralelasaos planos coordenados. Se um raio não intersecta o objeto limitante, então ele certamentenão intersecta o objeto limitado. Entretanto se um raio intersecta o objeto limitante nadapodemos dizer com relação à sua interseção com o objeto limitado. Desse modo paraminimizar a ocorrência de testes falso-positivos (i.e casos em que o raio intersecta o objetolimitante mas não intersecta o objeto limitado) o ideal é que a geometria desses objetoslimitantes sejam determinadas pela geometria do objeto limitado. Como exemplo, se oobjeto limitado é longo e fino, uma esfera não seria um bom objeto limitante pois dariamuitos resultados falso-positivos, nesse caso um paralelepípedo ou um outro poliedroconvexo seria uma melhor solução. A Figura 17 ilustra a geometria dos objetos limitantescom alguns exemplos.

Hierarquias de objetos limitantes

Um método mais eficiente do que utilizar um objeto limitante para reduzir o númerode interseções de raios com objetos consiste em utilizar uma hierarquia de volumes

Figura 17. Objetos limitantes.

Page 18: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

446 CAPÍTULO 14: ILUMINAÇÃO

encaixantes de objetos limitantes (ver capítulo sobre hierarquias). Nesse caso incluimosum objeto da cena (podendo ser toda a cena) numa família finita de objetos limitantesque compõem uma estrutura de hierarquia de volumes encaixantes.

O teste de interseção se processa do seguinte modo: inicialmente testamos a interseçãodo raio com a raiz da hierarquia, se não houver interseção significa que o raio não intersectao objeto limitante, caso contrário, passamos a repetir o teste nos nós da hierarquia de formarecursiva. A Figura 18 ilustra o processo utilizando uma hierarquia bidimensional ondeos objetos da hierarquia são retângulos. (Note que o uso da hierarquia evita a interseçãodos raio1 com nove objetos (0,1,2,3,4,5,6,9 e 0) e evita a interseçao de seu refletido, raio2,com quatro objetos (1,3,8 e 9.)

Em (Kay & Kajiya, 1986) é dada uma lista de propriedades que devem ser satisfeitaspor uma hierarquia de objetos limitantes:

1. As sub-árvores da hierarquia devem conter objetos que estão mais próximos doobjeto limitado, e quanto mais profunda for a subárvore maior essa proximidade;

2. O volume do objeto em cada nó deve ser o menor possível;

3. A soma dos volumes de todos os objetos limitantes da hierarquia deve ser o menorpossível;

4. Maior atenção deve ser dada aos nós da hierarquia perto da raiz uma vez que elimi-nando um desses nós estaremos evitando interseções com objetos mais complexosdo que eliminando nós com maior profundidade;

5. O tempo gasto construindo a hierarquia deve ser bem menor do que o tempo ganhousando a hierarquia.

Deixamos como exercício a justificativa de cada uma das afirmações acima.

Figura 18. Hierarquia de objetos limitantes.

Page 19: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

SEÇÃO 6: ACELERAÇÃO DE TRAÇADO DE RAIOS 447

Subdivisão espacial por Voxels

Essa técnica particiona o espaço em um reticulado uniforme de elementos de volume(voxels), i.e. paralelepípedos cujas faces são paralelas aos planos coordenados.

Para cada voxel V fazemos uma lista dos objetos que intersectam esse V . Para que ométodo seja eficiente devemos buscar um equilíbrio entre ter poucos objetos na lista decada voxel e não ter voxels de volume muito pequenos (i.e. o ideal é ter poucos voxelscom poucos objetos da cena em cada voxel). A Figura 19 ilustra essa subdivisão.

Nesse método o cálculo das interseções do raio com os objetos é realizado apenaspara os voxels que são intercectados pelo raio. O traçado do raio ao longo dos voxels(“voxel traversal”) continua até que o primeiro ponto de interseção seja encontrado.

Como a subdivisão espacial é uniforme, existem métodos extremamente eficientesde traçar o raio ao longo do reticulado de voxels (esse processo é uma rasterizaçãovolumétrica de um raio). Com efeito, podemos utilizar a extensão para um reticuladotridimensional do algoritmo DDA-Bresenham de rasterizar retas no plano. Essa extensãoé chamada de algoritmo 3D DDA-Bresenham. A Figura 20 mostra a mesma cena daFigura 18 processada com uma subdivisão espacial por voxels. Na ilustração da direitamostramos os os objetos em cada voxel e os voxels que são “rasterizados” na trajetória doraio. Note que o raio1 calcula apenas uma interseção (com o objeto 7) no primeiro voxelpercorrido; o raio2 calcula uma interseção com o objeto 5 no segundo voxel percorrido,com o objeto 3 no terceiro voxel e com os objetos 0 e 4 no quarto voxel (a interseção como objeto 2 não é realizada porque o algoritmo pára antes).

Subdivisão espacial por octree

A subdivisão espacial por voxels é uniforme e não hierárquica. Desse modo é difícilatingir um balanço entre não ter voxels muito pequenos e ao mesmo tempo evitar que osvoxels intersectem muitos objetos da cena. Para se conseguir um bom balenceamentodessas condições devemos usar uma hierarquia de partições em voxels de tamanhosvariáveis, de forma adaptativa: onde tiver poucos objetos os voxels têm volume maior, e

Figura 19. Subdivisão espacial com 16 voxels.

Page 20: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

448 CAPÍTULO 14: ILUMINAÇÃO

Figura 20. Subdivisão espacial com 12 voxels.

nas regiões com muitos objetos os voxels têm volume menor.Uma estrutura de dados que suporta essa subdivisão espacial é a octree. Cada voxel é

dividido recursivamente em oito subvoxels, formando uma árvore em que cada nó (voxel)possui oito sub-nós (sub-voxels) conforme ilustramos na Figura 21(a).

A Figura 21(b) mostra a cena da Figura 20 usando octree (na realidade temos aquiuma quadtree por ser bidimensional). Note que o raio1 é intersectado apenas com oobjeto 7, e o raio2 é intersectado apenas com os objetos 5 e 4, o que representa um ganhosubstancial em relação ao método do reticulado uniforme de voxels. Nesse exemploocorre algo interessante: o objeto 4 intersecta três voxels da octree, e esses três voxelssão parte da rasterização do raio2. Como evitar que a interseção desse raio com o objeto4 seja computada para cada um dos voxels (i.e. 3 vezes)? Deixamos como exercício.

Vemos que o método de subdivisão espacial por voxels satisfaz as condições quebuscávamos anteriormente: na média o número de objetos por voxel é constante (nãoconsiderando os voxels vazios). Além disso, podemos regular o tamanho dos voxels eo número de objetos por voxels com o número de subdivisões. Entretanto esse método

(a) (b)

Figura 21. Subdivisão recursiva do espaço com estrutura octree.

Page 21: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

448 CAPÍTULO 14: ILUMINAÇÃO

Figura 20. Subdivisão espacial com 12 voxels.

nas regiões com muitos objetos os voxels têm volume menor.Uma estrutura de dados que suporta essa subdivisão espacial é a octree. Cada voxel é

dividido recursivamente em oito subvoxels, formando uma árvore em que cada nó (voxel)possui oito sub-nós (sub-voxels) conforme ilustramos na Figura 21(a).

A Figura 21(b) mostra a cena da Figura 20 usando octree (na realidade temos aquiuma quadtree por ser bidimensional). Note que o raio1 é intersectado apenas com oobjeto 7, e o raio2 é intersectado apenas com os objetos 5 e 4, o que representa um ganhosubstancial em relação ao método do reticulado uniforme de voxels. Nesse exemploocorre algo interessante: o objeto 4 intersecta três voxels da octree, e esses três voxelssão parte da rasterização do raio2. Como evitar que a interseção desse raio com o objeto4 seja computada para cada um dos voxels (i.e. 3 vezes)? Deixamos como exercício.

Vemos que o método de subdivisão espacial por voxels satisfaz as condições quebuscávamos anteriormente: na média o número de objetos por voxel é constante (nãoconsiderando os voxels vazios). Além disso, podemos regular o tamanho dos voxels eo número de objetos por voxels com o número de subdivisões. Entretanto esse método

(a) (b)

Figura 21. Subdivisão recursiva do espaço com estrutura octree.

Page 22: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

SEÇÃO 7: AMOSTRAGEM E TRAÇADO DE RAIOS 451

Um modo de evitar esse problema consiste em seguir apenas um caminho único deraios secundários na árvore do traçado de raios. A escolha desse caminho único em cadanó da árvore deve ser feita de modo aleatório.

7 Amostragem e traçado de raios

Até aqui nossa discussão tem apresentado o método de traçado de raios totalmente base-ado no problema de lançamento de raios. Desse modo, do ponto de vista da ComputaçãoGráfica estamos fazendo uma amostragem pontual, em cada ponto de interseção, pa-ra o cálculo da iluminação. Sabemos dos diversos problemas inerentes a esse tipo deamostragem, e retornaremos a esse assunto mais adiante no capítulo de rasterização.

A superamostragem no método de traçado de raios é muito simples porém cara com-putacionalmente. De fato, se subdividimos o pixel am n×m subpixels devemos resolvero problema de lançar raio para n×m raios primários e seus raios secundários, para cadapixel, o que representa um aumento substancial da complexidade. Podemos amenizaresse problema fazendo superamostragem de forma adaptativa. Um método para imple-mentar essas superamostragem (introduzido em (Whitted, 1980)) consiste no seguinte:subdividimos cada pixel em quatro subpixels; calculamos o valor da iluminação em ca-da um dos subpixels; comparamos se esses valores são muito discrepantes continuar oprocesso de subdivisão quádrupla nos pixels que representem valores não nulos. Essemétodo é ilustrado na Figura 22. A idéia é que a superamostragem ocorre apenas nasregiões de altas freqüências da imagem, reduzindo o número de raios adicionais em cadapixel.

7.1 Traçado de feixes

Diversos métodos para minimizar problemas de amostragem e melhorar a qualidade deimagem do método de traçado de raios foram desenvolvidos baseados na idéia de se traçarfeixes de raios ao invés de um único raio. Dentre os mais conhecidos podemos citar osmétodos de “beam tracing”, o método de “cone tracing” e o método de traçado de raios

Figura 22. Superamostragem por subdivisão adaptativa.

Page 23: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

452 CAPÍTULO 14: ILUMINAÇÃO

(a) (b)

Figura 23. “Beam tracing” (a); “cone tracing” (b).

distribuído(“distributed ray tracing”).

Beam tracing e cone tracing

Os métodos de “beam tracing” e “cone tracing”’ na realidade substituem o feixe de raiospor raios volumétricos: o primeiro método aproxima o feixe de raios por um tronco depirâmide conforme ilustrado na Figura 23(a), e o método de “cone tracing” aproxima ofeixe de raios por raios cônicos (Figura 23(b)).

É interessante observar que além de minimizar problemas de aliasing e trazer melhoriasna qualidade da imagem gerada como um todo, o “beam tracing” e o “cone tracing”também aceleram a execução do algoritmo de traçado de raios4. Em linhas gerais issoocorre porque a superfície que aproxima o feixe de raios na realidade constitui um objetolimitante intrínseco ao próprio raio e isso permite o processamento de vários objetos nolançamento de cada feixe. Claro também que esses métodos podem ser combinados comos métodos de aceleração estudados anteriormente.

Entretanto alguns desses métodos de traçado de feixes são de difícil implementaçãoe impõem restrições na geometria dos objetos em cena (e.g. no algoritmo de “beamtracing” original os objetos devem ser polígonos). Uma descrição muito interessante deum algoritmo de “beam tracing” pode ser vista em (Ghazanfarpour & Hasenfratz, 1998),onde se utiliza o algoritmo de Warnock no espaço da tela virtual para criar uma hierarquiade feixes dando bastante eficiência ao método. Além disso a cena pode ser constituídapor qualquer objeto poliedral convexo.

4É comum encontrar na literatura essas técnicas classificadas como técnicas de aceleração de traçado deraios.

Page 24: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

SEÇÃO 8: COMENTÁRIOS E REFERÊNCIAS 453

Figura 24. Traçado de raios distribuído.

Traçado de raios distribuído

O método de traçado de raios distribuído agrega o método de superamostragem juntamentecom a idéia de traçar feixes de raios, sem substituir o feixe por um volume. Os raios dofeixe são lançados utilizando amostragem estocástica:

• Fazemos uma superamostragem em subpixels;

• Fazemos uma perturbação aleatória de cada sub-pixel;

• Lançamos um raio para cada subpixel perturbado.

Esse processo é ilustrado na Figura 24. Discutiremos o processo de amostragem esto-cástica com mais detlhes no próximo capítulo.

Uma questão é saber qual a distribuição de probabilidade que deve ser utilizada parafazer a perturbação nos sub-pixels. Na implementação original do algoritmo foi utilizadauma distribuição uniforme. Certamente pode-se utilizar uma distribuição Gaussiana,porém existem estudos indicando que a distribuição mais indicada seria a de Poisson.

O algoritmo de traçado de raios distribuído é muito eficiente na eliminação de aliasingno processo de amostragem, inclusive o aliasing temporal (cujo anti-aliasing é o “motionblur”). A imagem na Figura 25 ilustra o efeito de “motion blur” numa bola de bilhar emmovimento.

8 Comentários e Referências

O modelo local de iluminação mais simples foi introduzido na computação gráfica porHenri Gouraud (Gouraud, 1971). Subsequentemente, Bui Tui Phong estendeu o mode-lo de Gouraud, incluindo um componente especular calculado empiricamente, (Phong,1975). Outros modelos mais sofisticados foram propostos por Jim Blinn, (Blinn, 1977),Rob Cook e Ken Torrance (Cook & Torrance, 1981b).

Page 25: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

454 CAPÍTULO 14: ILUMINAÇÃO

Figura 25. “Motion blur” gerado usando traçado de raios distribuído.

O trabalho pioneiro que utilizou o lançamento de raios para resolver o problema deiluminação foi (Whitted, 1980).

O algoritmo de “beam tracing” foi introduzido na literatura em (Heckbert & Hanrahan,1984). O algoritmo de “cone tracing” foi publicado em (Amanatides, 1984). A algoritmode traçado de raios distribuído foi publicado em (Cook et al. , 1984).

Informações abundantes sobre as diversas técnicas e métodos discutidos neste capítulosobre o método de traçado de raios podem ser encontradas na página da Web (Haines,2003) compilada por Eric Haines.

8.1 Tópicos adicionais

Diversos tópicos deste capítulo podem, e devem, ser estudados com mais profundidadenum curso mais avançado.

O estudo dos modelos clássicos de iluminação que apenas citamos no texto (e.g.Cook-torrance). Estudo detalhado dos diversos métodos de aceleração de traçado deraios. Deixamos completamente de fora do capítulo o problema da iluminação de objetosvolumétricos que é um tópico de grande importância em visualização científica. Tambémnão abordamos o caso de iluminação com meio participativo. Simulação de diversosefeitos de iluminação (e.g. espalhamento, difração, etc.).

Uma área que tem assumido importância recentemente consiste em estimar a ilumina-ção do ambiente com base em fotografias reais (“image based illumination estimation”).Métodos dessa área têm grande importância em realidade virtual, e em cenários virtuaispara combinar objetos sintéticos com objetos do mundo real.

Page 26: Figura 1. Ângulos de incidência, reflexão e transmissão. · é refletida, e seja α o ângulo entre a direção do observador ω r e a direção de reflexão especular v s

456 CAPÍTULO 14: ILUMINAÇÃO

Figura 26.

a) Determine o ponto de interseção de um raio com uma esfera de raio r e centro naorigem.

b) Calcule o ponto de interseção de um raio com um cilindro de equação x2+y2 = 1.

c) Determine o ponto de interseção de um raio com um triângulo (Sugestão: usecoordenadas baricêntricas).

d) Determina o ponto de interseção de um raio com um polígono arbitrário.

10. Determinar a interseção de um raio com um paralelepípedo é importante porqueparalelepípedos são utilizados como objetos limitantes. Escreva um procedimento paradeterminar se um raio intersecta um paralelepípedo.

11. Com base nas duas imagens mostradas na Figura 26, descreva o pipeline de umsistema de colorização (“shading”) de cartoon 3D.

12. No algoritmo de aceleração de traçado de raios usando subdivisão do espaço porvoxels (i.e. subdivisão uniforme), pode ocorrer que um mesmo objeto intersecte váriosvoxels. Nesse caso, indique um procedimento para evitar que o cálculo de interseção doraio com esse objeto seja calculado mais de uma vez.

13. Seja n o vetor normal da superficie em um ponto x, ωi o vetor de incidência x, evt a direção de transmissão. Pela lei de Snell-Descartes temos k1(ωi ∧ n) = k2(vt ∧ n),onde k1 e k2 são os índices de refração. Mostre que

vt = k1

k2

√√√√(〈n, ωi〉2 + (k2

k1

)2

− 1

)− 〈n, ωi〉

n + ωi .

14. Descreva um método de aceleração por subdivisão espacial que utilize uma hierar-quia de reticulados uniformes. Compare as vantagens e desvantagens desse método como método de reticulado e com o método de subdivisão por octree.