Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

55
http://www.di.uminho.pt/uce-cg/ Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos

Transcript of Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Page 1: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

http://www.di.uminho.pt/uce-cg/

Iluminação e FotoRealismo

Ray Tracing

Luís Paulo Peixoto dos Santos

Page 2: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Competências

GERAIS :• Relacionar os vários métodos de iluminação global com o modelo geral sustentado

pela equação de rendering, inferindo quais os fenómenos de iluminação modelados;• Projectar, implementar e avaliar soluções para novos problemas de iluminação por

recombinação de soluções conhecidas;• Reconhecer as limitações funcionais e/ou de desempenho associadas a cada algoritmo

de iluminação global;

Iluminação e Fotorealismo 2007/082

ESPECÍFICAS :

Page 3: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Introdução

• O conceito de ray tracing foi introduzido na Computação Gráfica em 1980 por Whitted

• O termo ray tracing é usado livremente para designar uma infinidade de diferentes abordagens ao problema de rendering, desde que baseados no princípio de intersecção de uma semirecta (raio) com primitivas geométricas

• Esta sessão debruça-se sobre o algoritmo clássico de ray tracing conforme apresentado por Whitted, logo determinístico, e aborda algumas questões essenciais associadas com a sua funcionalidade, implementação e desempenho

Iluminação e Fotorealismo 2007/083

Page 4: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray casting: definição

• Ray casting:Determina qual o ponto y visível ao longo de um raio com origem em x e direcção ψ.

sendo A o conjunto de todos os objectos representados na cena.

Iluminação e Fotorealismo 2007/084

}0:min{

}:{),(

onintersecti

onintersecti

Atxttt

txyyxr

),( xry

x

Θ

y=r(x,Θ)

Page 5: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Introdução

• Os diferentes algoritmos de rendering usualmente designados por ray tracing diferem uns dos outros essencialmente no número de raios disparados e nas direcções ψ seleccionadas para amostrar

• Estes dois factores têm um efeito fundamental na qualidade da imagem gerada, nos fenómenos de transporte de luz simulados e no tempo de execução

Iluminação e Fotorealismo 2007/085

Page 6: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Plano da imagem

p

Ray Tracing: Princípios

Iluminação e Fotorealismo 2007/086

Observador

x

Cena

Fonte de luz

L(x→Obs)

Raio Primário

Os raios primários determinam quais os objectos visíveis directamente pelo observador.

Page 7: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Algoritmo

// ciclo principal

computeImage (viewPoint) {

para cada pixel p {

raio = GerarRaio (viewPoint, p, PRIMARIO)

radiance[p] = rad (raio)

}

}

rad (raio) {

objecto, x = trace (raio)

computeRad (x, raio, objecto)

}

Iluminação e Fotorealismo 2007/087

Page 8: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Algoritmo

// intersecção mais próxima da origem do raio

trace (raio) { // p = r (origem, direcção)tmin = Max_distPara todos os objectos da cena {

x = intersect (raio, objecto)dist = distancia (raio.origem, x)

if (dist < tmin) {tmin = distp = x obj = objecto }

}return (obj, p)

}

Iluminação e Fotorealismo 2007/088

Page 9: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Raios Primários

• Os raios primários determinam quais os pontos visíveis directamente pelo observador. Diz-se que propagam importância, pois estes pontos passam a ser importantes para a imagem.

• O algoritmo pode parar por aqui atribuindo uma cor aos pontos:– Pseudo-cor – visualização científica– Em função da posição das fontes de luz sem verificar se são visíveis:

iluminação local• Inexistência de sombras• As placas gráficas fazem isto, usando no entanto o algoritmo de profundidade para

determinar a visibilidade (depth buffer ou Z-buffer)

Iluminação e Fotorealismo 2007/089

Page 10: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Direcções a considerar

Iluminação e Fotorealismo 2007/0810

• Uma vez encontrado o ponto x, que projecta directamente no pixel p, é necessário proceder à sua iluminação (shading), isto é, ao cálculo de

s

xre NxLxfxLxL ),cos()(),()()(

• Sabendo que não é possível considerar todas as direcções da semi-esfera Ωs, quais deverão ser escolhidas para incluir no cálculo deste radiância?

Page 11: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Direcções a considerar

Iluminação e Fotorealismo 2007/0811

• Devem ser escolhidas as direcções que, com maior probabilidade, maiores contribuições dão para o valor final de L(x→)

s

xre NxLxfxLxL ),cos()(),()()(

• Quais são essas direcções?

– Direcções que maximizam a BRDF, isto é, aquelas para as quais é maior a radiância reflectida na direcção

– Direcções que maximizam L(x←), isto é, direcções de maior radiância incidente

– Direcções que maximizam o cosseno

Page 12: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Directa

Iluminação e Fotorealismo 2007/0812

x

Ponto x determinado por um raio primário. Quais as direcções a considerar para fazer iluminar x, isto é, calcular L(x→)?

Modelo por:Anat GrynbergGreg Ward

Page 13: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Directa

Iluminação e Fotorealismo 2007/0813

Radiâncias incidentes em x ao longo de toda a hemisfera Ωs.

Parece claro que a radiância incidente é maximizada na direcção das fontes de luz.

Conclusão: as direcções da hemisfera correspondentes a fontes de luz devem ser amostradas, pois a radiância incidente em x ao longo destas direcções é, com grande probabilidade, elevada.

Page 14: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Directa

Iluminação e Fotorealismo 2007/0814

• A radiância reflectida pode ser dividida em 2 integrais:

– iluminação directa oriunda das fontes de luz

– iluminação indirecta, oriunda de todas as outras direcções

)()()( xLxLxL indirectadirectar

Page 15: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Directa

• A maioria dos ray tracers clássicos permite aproximar as fontes de luz como fontes ideais: pontos que emitem com igual intensidade em todas as direcções.

– Um raio disparado na direcção de x para Li basta para determinar se a fonte pontual Li é visível a partir do ponto x (chamemos a esta direcção ψi)

• A BRDF para este ponto e este par de direcções, fr(x,Θ ↔ ψi), indica a percentagem de radiância incidente ao longo de ψi que é reflectida na direcção Θ.

– Whitted sugere que o modelo de iluminação local seja o de Lambert, com um coeficiente de reflexão difusa directa para cada um dos canais: kdR, kdG, kdB.

– O modelo de Phong permite adicionar um reflexo especular à iluminação directa.

Iluminação e Fotorealismo 2007/0815

Page 16: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Directa

Iluminação e Fotorealismo 2007/0816

• Lambert para l fontes de luz:

• Phong para l fontes de luz:

• No caso geral

),cos()(),()( ,,, ixi

iieiddirecta NyLyxVkxL

),cos()(),(),(cos)( ,,, ixi

iiein

sddirecta NyLyxVRkkxL s

),cos()(),(),()( ,, ixi

iieiirdirecta NyLyxVxfxL

Page 17: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Directa

• V(x,y) é a função de visibilidade:

• V(x,y) é avaliada disparando um raio de x para ySe nenhum objecto for intersectado por este raio a uma distância da origem menor do que a distância da fonte de luz então V(x,y)=1, senão V(x,y)=0

• Estes raios são designados por shadow rays ou shadow feelers

Iluminação e Fotorealismo 2007/0817

x)departir a visívelé nãoy se (i.e.,

x)departir a visíveléy se (i.e.,

),( se 0

),( se 1),(

yxr

yxryxV

Page 18: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Directa

Iluminação e Fotorealismo 2007/0818

Plano da imagem

p

Observador

x

Cena

Fonte de luz

L(x→Obs)

Raio Primário

Fonte de luz

Page 19: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Directa

computeRad (x, raio, objecto) { radiance = directIllum (x, raio.dir, objecto) return (radiance)}

directIllum (x, dir, objecto) {rad = 0;

para cada fonte de luz l {raio = GerarRaio (x, l, SHADOW)if (visibilidade (raio, l)) rad += brdf (x, dir, dir_l)* Ll * cos (Nx, dir_l)

}return (rad)

}

Iluminação e Fotorealismo 2007/0819

Page 20: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Directa

// visibilidade da fonte de luz

visibilidade (raio,l) { // V(x,y)tmin = distancia (raio.origem,l)Para todos os objectos da cena {

p = intersect (raio, objecto)dist = distancia (raio.origem, p)if (dist < tmin)

return (0)}return 1

}

Iluminação e Fotorealismo 2007/0820

Page 21: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Indirecta

Iluminação e Fotorealismo 2007/0821

),cos()),((),()( xrrindirecta NxrLxfxLs

Quais as direcções da hemisfera a considerar para a iluminação indirecta?Tipicamente aquelas que correspondem aos máximos da BRDF.

Whitted sugere que se amostre as direcções especulares, pois estas correspondem a máximos da BRDF

• reflexão especular : aproximada pela direcção R e quantificada pelo coeficiente Ks

• transmissão especular : aproximada pela direcção T e quantificada pelo coeficiente Kt

Page 22: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Indirecta

Iluminação e Fotorealismo 2007/0822

• Reflexão especular

• Transmissão especular(lei de Snell)

θi

θt

θrV

N

R

T

VVNNR

)(2

NNVV

T

NV

t

tt

t

i

i

t

))(

(cos

))(1(1sin1cos

sin

sin

222

Page 23: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Indirecta

Iluminação e Fotorealismo 2007/0823

),cos()),((),()( xrrindirecta NxrLxfxLs

É aproximada apenas pelas direcções R e T.A BRDF é aproximada pelas constantes:

– ksg(λ) – coeficiente de reflexão especular global

– ktg(λ) – coeficiente de transmissão especular global

),cos()),(()(

),cos()),(()()(

,

,,

TNTTxrLk

RNRRxrLkxL

xrtg

xrsgindirecta

Page 24: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Indirecta

• Para calcular a radiância incidente em x ao longo de cada uma das direcções R e T devem ser enviados raios secundários ao longo de cada uma destas direcções.

• O processamento dos raios secundários é em tudo equivalente aos raios primários, fazendo do ray tracing um algoritmo recursivo que gera uma árvore de raios.

• É necessário um critério de paragem para que a árvore não tenha profundidade infinita:

– Terminar ao atingir uma determinada profundidade– Terminar quando a contribuição de um raio for inferior a um determinado limite– Decidir de forma estocástica (Roleta Russa)

Iluminação e Fotorealismo 2007/0824

Page 25: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Indirecta

computeRad (x, raio, objecto, depth) { rad = directIllum (x, raio.dir, objecto)

if (depth < MAX_DEPTH) {

if (ksg > 0) { // reflexão especularraioR = GerarRaio (x, Rg, REFLEXAO)objR, p = trace (raioR)rad += ksg*cos(N,raioR)*computeRad (p,raioR,objR, depth++)}

if (ktg > 0) { // transmissão especularraioT = GerarRaio (x, Tg, TRANSMISSAO)objT, p = trace (raioT)rad += ktg*cos(N,raioT)*computeRad (p,raioT,objT, depth++)}

} return (rad) }

Iluminação e Fotorealismo 2007/0825

Page 26: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Iluminação Indirecta

Iluminação e Fotorealismo 2007/0826

Page 27: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Complexidade

• O algoritmo usado para determinar a visibilidade ao longo de um raio requer que cada raio seja intersectado com TODAS as primitivas geométricas da cena.

• O tempo para cada raio é, portanto, linear com o número de primitivas N:

• No entanto, cada raio não passa na proximidade da maioria das primitivas

Iluminação e Fotorealismo 2007/0827

)(ray NT

Page 28: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Estruturas de Aceleração

• O objectivo das estruturas de aceleração é diminuir o número de intersecções por raio.

• Isto é conseguido:1. Permitindo a rejeição rápida e simultânea de grupos de primitivas2. Se possível, ordenando o processo de procura (intersecções), tal que as primitivas

mais próximas da origem do raio sejam processadas primeiro, evitando processar as mais distantes se for encontrada uma intersecção

• Abordagens:– SUBDIVISÃO DO ESPAÇO: grelhas regulares, octrees, kd-tree

Permitem aplicar os critérios 1 e 2

– SUBDIVISÃO DOS OBJECTOS: bounding volume hierarchy (BVH)Permitem aplicar apenas o critério 1

Iluminação e Fotorealismo 2007/0828

Page 29: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Grelha Regular

• O espaço 3D é particionado impondo uma grelha regular que o subdivide em voxels (volume elements). Todos os voxels têm a mesma dimensão.

Iluminação e Fotorealismo 2007/0829

• Construção muito rápida•Travessia pouco eficiente devido à má distribuição das primitivas pelos voxels

Page 30: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Octree

• O espaço é hierarquicamente e adaptativamente subdividido em 8 voxels

Iluminação e Fotorealismo 2007/0830

• Compromisso entre tempo de construção e eficiência da travessia

Page 31: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Kd-tree

• O espaço é subdividido em 2 por um plano. Cada um dos sub-espaços resultantes é depois subdividido da mesma forma, até atingir um determinado critério de paragem

Iluminação e Fotorealismo 2007/0831

• Travessia mais eficiente se o critério de subdivisão for apropriado (e.g., SAH)• Quanto mais sofisticado for o critério de subdivisão maior o tempo necessário para a construir

Page 32: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Bounding Volume Hierarchy

• Os objectos são agrupados dentro de Bounding Volumes. Cada um destes grupos é depois hierarquicamente subdividido por outros volumes

Iluminação e Fotorealismo 2007/0832

• Não ordena o espaço• Construção semelhante à kd-tree• Travessia ligeiramente inferior à kd-tree

Page 33: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Geometria Dinâmica

• Qual a estrutura mais indicada se a geometria se move?

Iluminação e Fotorealismo 2007/0833

• Reaproveitamento da hierarquia (topologia da árvore), com ajustamento das dimensões dos volumes

• Com grandes deformações da geometria a hierarquia inicial deixa de ser apropriada para a distribuição das primitivas, exigindo uma reconstrução completa da BVH

Page 34: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Complexidade

• A complexidade do ray tracing com uma estrura de aceleração apropriada é logarítmica com o número de primitivas geométricas N:

• O tempo de construção depende do critério de subdivisão do espaço / agrupamento das primitivas

• Critérios sofisticados (e.g., SAH) resultam em travessias eficientes,mas exigem tempos de construção muito elevados

• O tempo de reconstrução/reajustamento de uma estrutura de aceleração pode impedir a sua utilização em contextos interactivos.

Iluminação e Fotorealismo 2007/0834

)(logray NT

Page 35: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Aliasing

• O resultado de um ray tracer é uma grelha bidimensional discreta com valores de radiância incidente no plano da imagem

• Mas a radiância incidente é na realidade uma função contínua definida sobre este plano

• A estratégia de amostragem (distribuição) e a sua densidade (frequência) afectam a qualidade do resultado

Iluminação e Fotorealismo 2007/0835

Se a distribuição da amostragem é uniforme e a frequência é inadequada são introduzidos artefactos na imagem, fenómeno vulgarmente designado por aliasing

Page 36: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Teoria da amostragem

• Selecção de pontos de amostragem de funções contínuas eutilização das amostras para construir novas funções semelhantes à original

Iluminação e Fotorealismo 2007/0836

)(xf * )(xIIIT

* )( xr

)(~xf

)(xf - função contínua

fDx' - Posição da amostra )'(xf - amostra)(xr - filtro reconstrução )(

~xf - função reconstruída

Page 37: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Limite de Nyquist

Iluminação e Fotorealismo 2007/0837

Limite de NyquistSe a frequência de amostragem, fs, é maior ou igual ao dobro da maior frequência presente no sinal

(função contínua), fmax, então é possível reconstruir perfeitamente o sinal original.

)()(~

então *2 se max xfxfff s

)(xf * )(xIIIT

* )( xr

)(~xf

Page 38: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing: Aliasing

Iluminação e Fotorealismo 2007/0838

• Um ray tracer amostra a radiância incidente no plano da imagem com uma dada frequência de amostragem (frequentemente determinada pela resolução do plano da imagem)

• Para que não surjam fenómenos de aliasing a frequência de amostragem deve ser maior ou igual ao limite de Nyquist

• Qualquer função que tenha descontinuidades não é limitada em banda, isto é, não tem uma frequência máxima

• As imagens têm descontinuidades (p. ex.: limites geométricos, contornos de sombras ou reflexões) logo não são limitadas em banda

• Os fenómenos de aliasing são portanto inevitáveis com distribuições uniformes

Page 39: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

pbrt: Teoria da Amostragem

Iluminação e Fotorealismo 2007/0839

x’

Filter

Sampler

Rendererf(x’)

Film)(

~xf

Page 40: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Antialiasing: Sobreamostragem

• A frequência de amostragem pode aumentar disparando mais do que um raio primário por pixel

Iluminação e Fotorealismo 2007/0840

1.6 seg 6.0 seg

Page 41: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Antialiasing: Sobreamostragem adaptativa

• Para evitar o aumento linear do tempo de execução aumenta-se a frequência de amostragem apenas quando a diferença entre 2 amostras vizinhas ultrapassa um determinado limite

Iluminação e Fotorealismo 2007/0841

• Uma vez que uma imagem com descontinuidades não é limitada em banda, o aumento da frequência de amostragem nunca elimina o fenómeno de aliasing, apenas reduz o erro

• Esta redução pode resultar num erro abaixo do limite percepcionável pelo Sistema Visual Humano

Page 42: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Antialiasing: Amostragem não uniforme

• O impacto visual de aliasing pode ser reduzido variando o espaçamento entre amostras

– Por exemplo seleccionando o ponto de amostragem estocasticamente

• O sinal reconstruído continua a ser incorrecto, mas é percepcionado como ruído e não como aliasing

• O ruído é a variância introduzida pelas variáveis aleatórias usadas no processo de selecção das amostras

• O sistema visual humano é mais tolerante a ruído aleatório do que a aliasing estruturado

Iluminação e Fotorealismo 2007/0842

Page 43: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Antialiasing: Amostragem não uniforme

Iluminação e Fotorealismo 2007/0843

Pseudo-aleatório

2

1

y

x

Estratificado

p

p

yy

xx

Jittered

2

1

*5.0

*5.0

p

p

yy

xx

• ξ1 e ξ2 são variáveis aleatórias com distribuição uniforme no domínio [0 .. 1[

Page 44: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Antialiasing: Amostragem não uniforme

Iluminação e Fotorealismo 2007/0844

Uniform (1spp) – 1.6 seg Jittered (1spp) – 1.6 seg

• O aliasing é removido introduzindo jittering e mantendo 1 amostra por pixel (spp: samples per pixel)

• É introduzido ruído no resultado• O tempo de execução mantém-se constante

Page 45: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Antialiasing: Amostragem não uniforme

Iluminação e Fotorealismo 2007/0845

• A utilização de distribuições de amostragem apropriadas permite obter melhores resultados (menor variância) com o mesmo número de raios

Imagens obtidas com o mesmo número de raios e diferentes distribuições[Pharr & Humphreys, 2004]

Page 46: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Fontes de luz

• As fontes de luz constituídas apenas por um ponto que emite potência radiante com igual intensidade em todas as direcções não têm equivalente na realidade

• As imagens resultantes de usar estes fontes de luz têm sombras com contornos muito definidos devido ao determinismo do algoritmo

Iluminação e Fotorealismo 2007/0846

Page 47: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Fontes de luz

• As fontes de luz com área permitem suportar sombras com diferentes gradações, isto é, umbra e penumbra

Iluminação e Fotorealismo 2007/0847

4 spp16 spl228 seg.

Page 48: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Fontes de luz

• Cada fonte de luz é amostrada por mais do que um shadow ray

• Aumento do número de raios implica aumento do tempo de computação

• Critérios para decidir quantos raios enviar em direcção a cada fonte de luz:1. Radiância emitida pela fonte de luz (Li)

2. Área da fonte de luz (Ai)

3. Orientação da fonte de luz relativamente à superfície de interesse (cos θi)

4. Distância da fonte de luz ao ponto de interesse (ri)

• A contribuição de cada fonte de luz para a radiância incidente no ponto p deve ser o produto da radiância emitida pelo ângulo sólido, ωi , que a fonte de luz subentende em p.

Iluminação e Fotorealismo 2007/0848

2

2

cos**)(

cos

i

iiiiii

i

iii

r

ALLpL

r

A

Page 49: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Fontes de luz

Iluminação e Fotorealismo 2007/0849

A fonte de luz é dividida em sub-áreas Aj, tal que ∑Aj=Ai

A cada sub-área corresponde um shadow ray que avalia a visibilidade de Aj a partir de p: V(p, Aj)

A radiância directa incidente em p devido à fonte de luz i é dada por:

jN

j

jr

pj j

jjji r

AApVL

2

cos*),(*

Page 50: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Fontes de luz

• Esta expressão exige que as sub-àreas Aj sejam calculadas, sendo ∑Aj=Ai.• Uma alternativa menos precisa consiste em não calcular as sub-áreas mas

dividir a contribuição de cada amostra pelo número de shadow rays (Ns). Situação equivalente a todas as sub-áreas terem a mesma dimensão.

• Esta alternativa permite escolher estocasticamente Ns pontos pj na superfície da fonte de luz, em alternativa a dividir a fonte de luz de forma determinística, sendo a mesma expressão reescrita:

Iluminação e Fotorealismo 2007/0850

j j

jjji r

AApVL

2

cos*),(*

j j

jj

s

ii

rApV

N

AL2

cos*),(

*

j j

jj

s

ii

rppV

N

AL2

cos*),(

*

Page 51: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing Clássico51

Trajectos de luz

• Sendo o transporte de luz aproximado pela óptica geométrica, podemos conceber que cada fotão percorre um trajecto desde a fonte de luz até ao seu destino final

• Este trajecto é composto por segmentos de recta direccionais, representando os extremos interacções do fotão com um objecto.

• A interacção pode ser difusa (D) ou especular (S)

• O conjunto de interacções é representado por uma string com origem na fonte de luz (L) e a terminar no ponto onde o fotão é absorvido ou no observador (E)

Page 52: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing Clássico52

Trajectos de luz

Material Difuso

Material Especular

a

a

a

a - LSDE

bb

b

b - LDSE

c

c

c

c - LDDE

Page 53: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Ray Tracing Clássico53

Trajectos de luz

• A árvore de raios gerada pelo ray tracing de Whitted começa no observador e termina sempre que encontrar um material difuso.

• Os trajectos simulados são portanto sempre do tipoL[D][S*]E

• Os caminhos ‘a’ e ‘c’ do acetato anterior não são simulados

• O caminho ‘a’ resultaria na projecção pelo espelho do reflexo da fonte de luz no chão difuso. O ray tracing clássico não modela este fenómeno.

Page 54: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Trajectos de luz: Whitted ray tracing

Iluminação e Fotorealismo 2007/0854

E

L

D

S

LDSE

D

LDELDSSE

Page 55: Http:// Iluminação e FotoRealismo Ray Tracing Luís Paulo Peixoto dos Santos.

Trajectos de luz: path tracing

Iluminação e Fotorealismo 2007/0855

E

L

S

S

D

LSSDE

D

D

LDDE

Os trajectos de luz – seguidos a partir do observador – não terminam em materiais difusos.Podem continuar pois é sempre seleccionada uma direcção para amostrar.