http:// iluminação e fotorealismo iluminação global luís paulo peixoto dos santos

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

Upload: internet

Post on 17-Apr-2015

109 views

Category:

Documents


0 download

TRANSCRIPT

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

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

Iluminação e FotoRealismo

Iluminação Global

Luís Paulo Peixoto dos Santos

Page 2: Http:// Iluminação e FotoRealismo Iluminação Global 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 2008/092

ESPECÍFICAS :

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

Conteúdo

• Introdução

– Métodos com e sem Bias

– Partição do integral

• A Cache de Irradiância

• Iluminação Global Interactiva

Iluminação e Fotorealismo 2008/093

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

Biased vs. Unbiased

• Os métodos de Monte Carlo sem bias:– garantem a convergência para soluções correctas com o aumento do nº de amostras– garantem que a solução obtida é correcta

Mas– Exigem um nº de amostras elevado, logo elevado tempo de computação

Iluminação e Fotorealismo 2008/094

• Os métodos de Monte Carlo com bias:– Convergem mais rapidamente (menos amostras) para uma solução visualmente agradável

Mas– Não há garantias de que esta solução seja correcta– Não há garantias de que a solução melhore aumentando o nº de amostras

IIN

lim

IINlim

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

Partição do Integral

• O integral de transporte de luz pode ser particionado em vários integrais, cada correspondendo a vários subdomínios disjuntos, sendo cada integral resolvido separadamente, eventualmente recorrendo a abordagens muito diferentes

Iluminação e Fotorealismo 2008/095

i

dpLpfpL iiirrrr cos)(),,()(

cos)(),,(

cos)(),,(

cos)(),,()(

_

_

dindirectai

sindirectai

directai

dpLpf

dpLpf

dpLpfpL

iiidirr

iiisirr

iidirrrr

Exemplo:

// L directa

// L indirecta especular

// L indirecta difusa

• O único requisito é que os subdomínios sejam disjuntos, isto é, que nenhuma direcção ωi seja considerada em 2 ou mais integrais

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

Partição do Integral

Iluminação e Fotorealismo 2008/096

A composição destes resultados parciais resulta na imagem final.

DIRECTA ESPECULAR INDIRECTA DIFUSA INDIRECTA

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

Partição do Integral

Iluminação e Fotorealismo 2008/097

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

Partição do Integral

• Iluminação directa– Eventualmente, calculada por integração de Monte Carlo– Apresenta descontinuidades (altas frequências)

• Iluminação especular indirecta– Calculada deterministicamente (cuidado: glossiness)– Apresenta descontinuidades (altas frequências)

• Iluminação difusa indirecta– Não direccional: Integração de Monte Carlo requer

amostragem de um grande número de direcções– Varia suavemente ao longo das superfícies (baixa frequência)

Iluminação e Fotorealismo 2008/098

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

CACHE DE IRRADIÂNCIA

Greg Ward, "A Ray Tracing Solution for Diffuse Interreflection", Computer Graphics, 22(4), 1988

Greg Ward and Paul Heckbert, "Irradiance Gradients", 1992

Iluminação e Fotorealismo 2008/099

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

Cache de Irradiância

P1 – Calcular irradiância amostrando a semi-esfera (Monte Carlo)

P2 – Calcular irradiância amostrando a semi-esfera (Monte Carlo)

P3 – Se dentro da área de interpolação de P1 e/ou P2 então

Interpolar!

Iluminação e Fotorealismo 2008/0910

p1 p2p3

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

Cache de Irradiância: Cálculo

• Irradiância – fluxo radiante incidente por unidade de área– Calcula-se a partir da radiância incidente como:

Iluminação e Fotorealismo 2008/0911

sN

i i

ii

siii p

pL

NdpLpE

1 )(

cos)(1cos)()(

• Usando amostragem estratificada pesada com o cosseno (importância):

1

0

1

0,

211

)(*

)(

*2,sin),(

cos)(

M

j

N

kkj

ii

pLNM

pE

N

k

M

j

p

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

Cache de Irradiância: Cálculo

• A irradiância num ponto p da cena pode ser calculada:

– Extensivamente: se não houver nenhum valor de irradiância calculado previamente para outro ponto numa vizinhança válida de p

– Por Interpolação: se forem encontrados valores de irradiância calculados previamente para outros pontos numa vizinhança válida de p

• Aos valores de irradiância calculados extensivamente chamamos amostras

• As amostras têm que ser armazenadas nalguma estrutura de dados para uso posterior

• A esta estrutura de dados chamamos cache de irradiância

Iluminação e Fotorealismo 2008/0912

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

Cache de Irradiância: Armazenamento

• As amostras têm que ser guardadas no espaço 3D para poderem ser reutilizadas• Não são armazenadas com a geometria (superfície onde foram calculadas) para

permitir reutilização com outras superfícies vizinhas• Devem ser guardadas numa estrutura que ordene o espaço 3D para permitir procuras

rápidas de várias amostras numa vizinhança espacial• Usam-se octrees ou kd-trees

Iluminação e Fotorealismo 2008/0913

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

Cache de Irradiância: Vizinhança

• Cada amostra de irradiância armazenada na cache corresponde ao valor da irradiância calculada num ponto pi do espaço. A esta amostra chamamos E(pi)

• Para calcular a irradiância E(p) num ponto p procura-se primeiro na cache quais as amostras E(pi) que podem ser usadas

• A decisão de se um ponto pi pode ser usado para estimar a irradiância em p baseia-se na estimativa do erro incorrido por usar E(pi) em vez de calcular E(p)

• Esta estimativa do erro é um limite máximo e é representada por

• O erro máximo aceitável, a, é um parâmetro usualmente fornecido pelo utilizador

• O ponto pi só é usado para estimar E(p) se

Iluminação e Fotorealismo 2008/0914

),( ipp

app i ),(

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

Cache de Irradiância: Vizinhança

Iluminação e Fotorealismo 2008/0915

ipp

i

ii NN

R

pppp

1),(

• A estimativa de erro depende de:

• - distância euclidiana entre p e pi

• - distância média das superfícies a pi; calculada como média harmónica durante o processo de amostragem da semiesfera.

• - cosseno entre as normais das superfícies em p e pi

ipp

iR

ipp NN

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

Cache de Irradiância: Interpolação

• O valor de E(p) é dado pela média pesada dos E(pi) determinados como estando dentro de uma vizinhança válida;

• Os pesos a usar nesta média pesada são o inverso da estimativa de erro:

Iluminação e Fotorealismo 2008/0916

),(1),(

),(

)(),()(

ii

i

ii

pppp

pp

pEpppE

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

Cache de Irradiância: Rendering

• Conhecido o valor da irradiância E(p), o valor da radiância reflectida de forma difusa na direcção do observador é dada por

Iluminação e Fotorealismo 2008/0917

)(*)(_ pEpL rdindirect

• Este método aplica-se apenas a superfícies difusas, pois E(p) não contem qualquer informação sobre a direcção de incidência da radiância.

• Os valores de podem ser partilhados entre frames onde a posição do observador muda, pois respeitam apenas a informação difusaNota: a geometria, materiais e iluminação, no entanto, têm que ser fixas

, sendo ρ o coeficiente de reflexão difusa

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

Cache de Irradiância: Parâmetros

• O algoritmo da cache de irradiância usualmente aceita os seguintes parâmetros;

– maxdepth – até que profundidade deve continuar a recursividade– maxerror – qual o erro máximo aceitável no processo de interpolação

quanto menor mais amostras serão calculadas– nsamples – quantas amostras usar para amostrar a componente difusa indirecta

da semiesfera (nº de raios a disparar por cálculo extenso da irradIância)quanto maior mais raios serão disparados por amostra

Iluminação e Fotorealismo 2008/0918

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

Cache de Irradiância: Posicionamento das amostras

Iluminação e Fotorealismo 2008/0919

• As amostras concentram-se nas zonas onde a distância do ponto pi às restantes superfícies é menor: cantos.

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

Cache de Irradiância: Defeitos visíveis

• O resultado do processo de interpolação é claramente visível

• O processo de interpolação aqui descrito é linear; não tem em consideração variações com translações ou rotações

• Durante o processo de amostragem da semiesfera é possível estimar como varia a irradiância com as translações e rotações:cálculo dos gradientes

• Estes gradientes podem ser usados para fazer interpolação de 2ª ordem obtendo uma diminuição significativa nestes defeitos

Iluminação e Fotorealismo 2008/0920

DIFUSA INDIRECTA

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

Cache de Irradiância: Defeitos visíveis

• A imagem é percorrida de forma ordenada, linha a linha

• Inicialmente a cache está vazia

• Como resultado as amostras são calculadas de forma ordenada também, resultando em muitas extrapolações: utilização de apenas uma amostra para estimar E(p)

• Uma primeira passagem pelo plano da imagem, processando apenas alguns dos pixeis (subamostragem), permitiria inicializar a cache, reduzindo o número de extrapolações

Iluminação e Fotorealismo 2008/0921

DIFUSA INDIRECTA

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

ILUMINAÇÃO GLOBAL INTERACTIVA

Iluminação e Fotorealismo 2008/0922

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

Fundamentos

CÁLCULO DAS INTERREFLEXÕES DIFUSAS

PRÉ-PROCESSAMENTO1. Seguir um número reduzido de trajectos a partir das fontes

de luz2. Construir fontes de luz virtuais (VPL – Virtual Point Light

sources) nos pontos de intersecção// representam a distribuição da radiância indirecta na cena

RENDERING TIME1. Incluir estas fontes de luz (VPL) explicitamente no integral

para cada ponto

Iluminação e Fotorealismo 2008/0923

Keller, A; “Instant Radiosity”; Proc. of SIGGRAPH’97, 1997

Wald, Kollig, Benthin, Keller, Slusallek; “Interactive Global Illumination using fast ray tracing”; 13th Eurographics Workshop on Rendering, 2002

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

Integração sobre áreas

• Radiância reflectida definida sobre ângulos sólidos:

• Relação entre ângulo sólido e área

• Equação de Rendering definida sobre áreas:

Iluminação e Fotorealismo 2008/0924

iiiirrrr dpLpfpL cos)(),,()(

22

'cos

r

dA

r

dAd i

Ap

iirr dA

rppLpppfppL

2

22101201

'coscos)()()(

p0 p2

p1

ωrωiθi

θi’

Ap

rr

ii

dAppGppLpppfppL

rppG

2

)()()()(

'coscos)(

212101201

221

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

Pré-Processamento: Contribuição de um trajecto

• Qual a contribuição deste trajecto, P(p6), para a radiância incidente em p0?

1. Seleccionar estocasticamente um ponto na superfície da fonte de luz :

Iluminação e Fotorealismo 2008/0925

p0

p1

p2

p3

p4

p5

p6

...)( 6 pP

)(

)()(

6

66 pp

pLpL

A

e

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

Pré-Processamento: Contribuição de um trajecto

Iluminação e Fotorealismo 2008/0926

p0

p1 p3p5

p6

1. Seleccionar estocasticamente uma direcção de saída ω6 e determinar p5 disparando um raio de p6 na direcção ω6 (ω6=p5-p6=p6→p5 )

2. A radiância incidente em p5 devido a p6 é

3. A contribuição da VPL em p5 para um ponto p qualquer da cena será a sua radiância incidente vezes a BRDF:)(

cos

)(

)()(

56

5

6

5665 ppppp

ppLppL

A

e

)(

cos)(

)(

)()(

56

556

6

565 ppp

pppf

pp

ppLppL r

A

e

p2 p4

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

Pré-Processamento: Contribuição de um trajecto

Iluminação e Fotorealismo 2008/0927

p0

p1 p3p5

p6

1. Seleccionar estocasticamente uma direcção de saída ω5 e determinar p4 disparando um raio de p5 na direcção ω5

2. A radiância incidente em p4 devido a p6 é

)(

cos

)(

cos)(

)(

)()(

45

4

56

5456

6

5664 pppppp

pppf

pp

ppLppL r

A

e

p2 p4

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

Pré-Processamento: Contribuição de um trajecto

Iluminação e Fotorealismo 2008/0928

p0

p1 p3p5

p6

1. Seleccionar estocasticamente uma direcção de saída ω4 e determinar p3 disparando um raio de p4 na direcção ω4

2. A radiância incidente em p3 devido a p6 é

Generalizando a radiância incidente em pi-l devido a um ponto pi na superfície de uma fonte de luz e a um trajecto de comprimento l é dada por:

)(

cos

)(

cos)(

)(

cos)(

)(

)()(

34

3

45

4345

56

5456

6

5663 pppppp

pppf

ppp

pppf

pp

ppLppL rr

A

e

p2 p4

)(

cos

)(

cos)(

)(

)()(

1

1

1 1

111

lili

lil

j jiji

jijijijir

iA

iieili pppppp

pppf

pp

ppLppL

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

Rendering: Amostragem da VPL

• Determinar ponto p1 de intersecção de raio primário• Somar a contribuição de TODAS as VPL:

onde: é a radiância incidente em pi associado à VPL i (dada pela expressão do acetato anterior)

é a BRDF em pi

corresponde ao termo geométrico entre p1 e a VPLi

corresponde à visibilidade entre p1 e VPLi calculada disparando um shadow ray

Iluminação e Fotorealismo 2008/0929

p0

p1 p3p5

p6

p2 p4

VPL

r

N

iiiiiiir

VPLVPL VPLLpppfppGVPLpVpppf

NppL

111110101 )()()(),()(

1)(

)( iVPLL

),( 1 iVPLpV

)( 1 ippG

)( 11 pppf iir

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

Amostragem da VPL: exemplo

• Consideremos p2.

• Propagação a partir de p6 resulta em:

• Recolha a partir de p0 resulta em (apenas para VPL2):

Iluminação e Fotorealismo 2008/0930

p0

p1 p3p5

p6

p2 p4

)(

cos

)(

cos)(*

*)(

cos)(*

)(

cos)(*

)(

)()(

23

2

34

3234

45

4345

56

5456

6

562

pppppp

pppf

ppp

pppf

ppp

pppf

pp

ppLVPLL

r

rr

A

e

)()()(),()(1

)( 21232121012012VPLLpppfppGVPLpVpppf

NppL rr

VPLVPL

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

Termo Geométrico

Iluminação e Fotorealismo 2008/0931

2

1

11

'coscos)(

ppppG

i

ii

• Se a distância de p1 a pi é pequena (≈0) então o termo geométrico toma um valor muito grande

• Para evitar esta situação G toma o valor zero se a distância for menor que um determinado limite:

• A truncagem de G introduz bias no algoritmo

di

di

i

i

i

pp

ppppppG

min se ,0

min se ,'coscos

)(

1

12

1

1

1

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

Critério de paragem

• A decisão de quando terminar um trajecto construído a partir da fonte de luz é tomada recorrendo a roleta russa

• A probabilidade de continuar o trajecto deve ser igual à atenuação que a energia do fotão sofre naquela intersecção:

• Se então o trajecto termina• Senão o trajecto continua

• A contribuição deste trajecto (energia da próxima VPL) é dividida pela probabilidade de continuar, pcontinue

Iluminação e Fotorealismo 2008/0932

)(

'cos)(

1

11

ii

iiiircontinue ppp

pppfp

continuep

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

Critério de paragem

• A energia de VPLi-1 relativamente a VPLi é dada por

• Uma vez que usamos roleta russa passa a ser

Iluminação e Fotorealismo 2008/0933

)()(

cos)()(

1

111 i

ii

iiiiri VPLL

ppp

pppfVPLL

continuei

ii

iiiiri p

VPLLppp

pppfVPLL

1)(

)(

cos)()(

1

111

)(

cos)(

1

11

ii

iiiircontinue ppp

pppfp

)(

)()()( 1

source

sourceeii pp

pLVPLLVPLL

Todas as VPL do mesmo trajecto têm a mesma energia

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

Pré-Processamento: Algoritmo

PreProcess() { Para i=1 até N_Paths { Seleccionar aleatoriamente a fonte de luz L Seleccionar ponto na fonte de luz p com probabilidade pdf contrib = L.Le / pdf

Seleccionar direcção ωo com probabilidade pdf contrib *= cos θ / pdf

p’, Np’ = intersecta (raio(p, ωo), cena) Enquanto intersecção com sucesso {

ωi = ωo

Criar VPL (p’, contrib, ωi, Np’) N_VPLs++

Seleccionar direcção ωo com probabilidade pdf

pcontinue = BRDF (p’, ωi, ωo)* cos θ / pdf if (RandomFloat()>pcontinue) termina trajecto

p’, Np’ = intersecta (raio(p’, ωo), cena) }} }

Iluminação e Fotorealismo 2008/0934

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

Rendering: Algoritmo

Render() { // ponto p da cena e raio com direcção dir

L = <Calcular iluminação directa>

L += <Novos raios para iluminação especular>

Para i=1 até N_VPLs {

se (distância (p, VPL[i].p) <= min_d) continue;

L_aux = VPL[i] * G(p, VPL[i].p)

L_aux *= BRDF (VPL[i].p, VPL[i].dir, dir(p, VPL[i]))

L_aux *= BRDF (p, dir, dir(p, VPL[i]))

L_aux /= N_VPLs

Visivel = shadow_ray (p, VPL[i].p)

if (Visivel) L+= L_aux

}

}

Iluminação e Fotorealismo 2008/0935

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

Comparação

Iluminação e Fotorealismo 2008/0936

Path tracing: 10 spp43.4 seg

IGI: 1 spp, 128 VPL41.1 seg

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

Conjuntos de VPLs

• A utilização do mesmo conjunto de VPLs para todos os pixeis resulta numa elevada intercorrelação entre pixeis vizinhos:

Iluminação e Fotorealismo 2008/0937

SOLUÇÃO:

Gerar vários conjuntos diferentes de VPLs e, para cada raio primário, seleccionar estocasticamente o conjunto a utilizar.

Não acarreta custos extra, excepto a geração dos conjuntos de VPLs

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

Conjuntos de VPLs

Iluminação e Fotorealismo 2008/0938

IGI: 1 spp, 128 VPL, 4 set41.3 seg

IGI: 1 spp, 128 VPL, 1 set41.1 seg

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

Sobre Amostragem

• A variância pode ser reduzida disparando vários raios primários por pixel

• O número de diferentes conjuntos de VPLs deve ser igual ao número de amostras por pixel

• Cada conjunto de VPLs pode agora ter o seu número de trajectos dividido pelo número de amostras por pixel

• O tempo associado à iluminação difusa não aumenta

• As distribuições de números aleatórios usadas para gerar os trajectos e seleccionar o conjunto a usar devem ser cuidadosamente escolhidas para garantir que não há correlações entre estes

Iluminação e Fotorealismo 2008/0939

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

Sobre Amostragem

Iluminação e Fotorealismo 2008/0940

IGI: 1 spp, 128 VPL, 1 set41.1 seg

IGI: 4 spp, 32 VPL, 4 set62.8 seg

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

Selecção da fonte de luz

• A amostragem das fontes de luz, na fase de pré-processamento, pode ser feita baseada na sua importância, por exemplo, usando uma distribuição de probabilidade baseada na potência relativa das fontes de luz

• Neste caso, algumas fontes de luz terão, em média, mais VPLs do que outras

• Para compensar a potência das VPLs deve ser atenuada pela probabilidade de selecção da fonte de luz

Iluminação e Fotorealismo 2008/0941

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

Pré-Processamento: Algoritmo (importância das fontes de luz)

PreProcess() { Criar distribuição para fontes de luz baseada em alguma característica Para i=1 até N_Paths { Seleccionar aleatoriamente a fonte de luz L com probabilidade

Lightpdf Seleccionar ponto na fonte de luz p com probabilidade pdf contrib = L.Le / pdf * Lightpdf

Seleccionar direcção ωo com probabilidade pdf contrib *= cos θ / pdf Enquanto intersecção com p’ {

ωi = ωo

Criar VPL (p’, contrib, ωi, Np’) N_VPLs++

Seleccionar direcção ωo com probabilidade pdf

pcontinue = BRDF (p’, ωi, ωo)* cos θ / pdf if (RandomFloat()>pcontinue) termina trajecto }} }

Iluminação e Fotorealismo 2008/0942

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

Selecção da fonte de luz: oclusão

• Numa cena com um elevado grau de oclusão muitas fontes de luz não contribuem para a iluminação das superfícies visíveis.

• VPLs propagadas a partir destas fontes de luz não contribuem para a região visível da imagem, mas a sua visibilidade é ainda assim avaliada pelos shadow rays para iluminar cada ponto

• Muito tempo de computação é desperdiçado numa operação que não contribui para melhorar o resultado final

EXEMPLO:Um prédio com muitas divisões e muitas fontes de luz terá VPLs distribuídas por

todas (maioria) as suas divisõesUm observador localizado numa divisão não beneficia da maioria destas VPLs

Iluminação e Fotorealismo 2008/0943

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

Selecção da fonte de luz: oclusão

Iluminação e Fotorealismo 2008/0944

Múltiplas (9) cópias da Cornell BoxCom iluminação indirecta

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

Selecção da fonte de luz: oclusão

Iluminação e Fotorealismo 2008/0945

1 única Cornell BoxIGI: 8 spp, 16 VPL, 8 set

112 seg

9 Cornell BoxIGI: 8 spp, 16 VPL, 8 set

172 seg

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

Selecção da fonte de luz: oclusão

• Determinar a importância das fontes de luz para o ponto de vista actual• Propagar VPLs a partir das fontes de luz usando esta distribuição de importância

HIPÓTESE:

Fazer uma primeira passagem com baixa resolução a partir do observador apenas para calcular a importância relativa das fontes de luz, construindo uma pdf

Usar path tracing para esta passagem. Construir a distribuição de importância das fontes de luz baseada no número de shadow rays que as amostram com sucesso

Para que a integração seja unbiased relativamente às fontes de luz, nenhuma fonte de luz que contribua para a iluminação deve ter probabilidade 0.

[Wald, Benthin, Slusallek; “Interactive Global Illumination in Complex and Highly Occluded Environments”; EG Symposium on Rendering, 2003]

Iluminação e Fotorealismo 2008/0946