Rastreamento de Radiosity VS Ray

12

Radiosidade é basicamente o que permite isso: Iluminação direta VS Radiosidade

Em um tutorial da Universidade Cornell sobre Radiosidade , é mencionado que:

Uma versão rastreada por raios da imagem mostra apenas a luz que chega ao espectador por reflexão direta - portanto, perde os efeitos de cor.

No entanto, na Wikipedia :

Radiosidade é um algoritmo de iluminação global no sentido de que a iluminação que chega à superfície vem não apenas diretamente das fontes de luz, mas também de outras superfícies que refletem a luz.

...

O método de radiosidade no atual contexto de computação gráfica deriva (e é fundamentalmente o mesmo) do método de radiosidade na transferência de calor.

E se o traçado de raios for capaz de:

simulando uma ampla variedade de efeitos ópticos, como reflexão (reflexão difusa ) e dispersão (ou seja, a deflexão de um raio de um caminho reto, por exemplo, por irregularidades no meio de propagação, partículas ou na interface entre dois meios)

Esse tutorial não considerou esses efeitos ou existem métodos de radiosidade que podem ser usados ​​no traçado de raios para habilitá-los?

Caso contrário, esses efeitos ópticos não poderiam simular completamente a radiosidade ou o algoritmo de radiosidade é mais eficiente na solução do problema de reflexão difusa?

Armfoot
fonte

Respostas:

13

A radiosidade não explica reflexões especulares (isto é, trata apenas de reflexões difusas). O traçado de raios de Whitted considera apenas a reflexão brilhante ou difusa, possivelmente refletida no espelho. E, finalmente, o traçado de Kajiya é o mais geral [2], lidando com qualquer número de reflexões difusas, brilhantes e especulares.

Então eu acho que depende do que você entende por "rastreamento de raios": a técnica desenvolvida por Whitted ou qualquer tipo de "raio de rastreamento" ...

Nota lateral: Heckbert [1] (ou Shirley?) Desenvolveu uma classificação de eventos de dispersão de luz que ocorreram quando a luz viajava da luminária para os olhos. Em geral, tem a seguinte forma:

L(S|D)*E

"L" significa luminária, "D" para reflexão difusa, "S" para reflexão ou refração especular, "E" para olho e os símbolos "*", "|", "()", "[]" vêm da notação de expressões regulares e denota "zero ou mais", "ou", "agrupamento", "um de", respectivamente. Veach [3] estendeu a notação em sua famosa dissertação por "D" para lambertiano, "S" para especular e "G" para reflexão brilhante e "T" para transmissão.

Em particular, as seguintes técnicas são classificadas como:

  • Sombreamento OpenGL: EDL

  • Fundição de Appel: E(D|G)L

  • Traçado de raios de Whitted: E[S*](D|G)L

  • Traçado de caminho de Kajiya: E[(D|G|S)+(D|G)]L

  • Radiosidade de Golar: ED*L

[1] Paul S. Heckbert. Texturas de radiosidade adaptáveis ​​para traçado de raios bidirecional. SIGGRAPH Computer Graphics, Volume 24, Número 4, Agosto 1990

[2] O curso Siggraph 2001 "Estado da arte no traçado de raios de Monte Carlo para síntese realista de imagens" diz o seguinte: "O traçado de raios distribuído e o traçado de trajetos incluem saltos múltiplos envolvendo espalhamento não especular, como E(D|G)*L. No entanto, mesmo esses métodos ignoram caminhos da forma E(D|G)S*L; isto é, múltiplos saltos especulares da fonte de luz como em um cáustico ".

[3] Eric Veach. Métodos Robustos de Monte Carlo para Simulação de Transporte Leve. Ph.D. dissertação, Universidade de Stanford, dezembro de 1997

Ecir Hana
fonte
A notação para o rastreamento de caminho sugere que ele não pode lidar com caminhos como, ES*Lmas é claro que pode, se forem luzes de área (não luzes pontuais). Além disso, acho que essa afirmação em sua referência [2] está completamente errada. O rastreamento de caminho não ignora cáusticos; simplesmente não é muito eficiente neles (mapeamento de fótons, Metropolis, VCM etc. são melhores).
Re
Obrigado Ecir pela explicação (especialmente a expressão regular ... será que eles consideraram E {2} para ambos os olhos;). Quando mencionei "traçado de raios", eu estava meio que citando o tutorial da Universidade de Cornell, eles não mencionaram nenhuma técnica específica, por isso duvidava que a radiosidade fosse um tipo ou parcialmente pertencente ao traçado de raios. Então, se você criasse uma reflexão difusa, escolheria o rastreamento de caminho em vez da radiosidade? Por que (qual seria mais eficiente)?
Armfoot
1
@NathanReed Eu perguntei sobre isso no ompf2 e engenhoso diz: "O único tipo de caminhos de luz que um rastreador de caminho a frente não pode amostrar é E (D | G) * S + L, onde L é uma fonte de luz cuja definição envolve uma distribuição delta , na emissão direcional ou na posicional. Exemplos são luzes pontuais e luzes direcionais. Esses caminhos podem ser descritos usando a notação estendida de Veach para luminárias e sensores, consulte a seção 8.3.2 em sua tese. "
Ecir Hana
@ Armfoot Eu definitivamente iria com o rastreamento de caminho. Muita pesquisa, livros, código para aprender. Eu não sei o que seria mais rápido, no entanto, muitas variáveis ​​(estrutura de aceleração, sistema de sombreamento, ...). Aparentemente, a radiosidade simula a propagação do calor depois de dividir a cena em muitos pequenos triângulos ( FEM ). Nunca tentei e o único produto a ser utilizado é o Autodesk Lightscape. Por último, mas não menos importante, você tem certeza de que precisará apenas de reflexos difusos?
precisa saber é o seguinte
1
@Armfoot A notação não usa E {2} pelo mesmo motivo que não usa L {n} para várias luzes. Isso descreve um único caminho ou uma única amostra. A maneira como normalmente formalizamos a renderização de Monte Carlo é pegar a equação de renderização de Kajiya e transformá-la em uma variável aleatória, cujo valor esperado é a solução para a equação. Você pode calcular o valor de um pixel colhendo muitas amostras e estimando a média. Caminhos de luz correspondem mais ou menos aos diagramas de Feynman.
Pseudônimo