Por que o traçado de raios de monte carlo é melhor que o traçado de raios distribuído?


30

Ouvi dizer que a qualidade de um rastreador de raios monte carlo (baseado em algoritmos de rastreamento de caminho) é muito mais realista do que um mecanismo distribuído (estocástico). Eu tento entender o porquê, mas estou apenas no começo.

Para mergulhar neste tópico e entender o básico, alguém pode me indicar a direção certa? Qual parte do algoritmo leva a um resultado de renderização mais realista?


9
Eu gostaria de mais do que "Uma recomendação de um livro sólido", pois essa pergunta deve receber uma resposta direta de alguém que saiba disso. Devemos tentar colocar informações no site em vez de apontá-las para fora do site.
Robobenklein 04/08/2015

@robobenklein Pergunta editadas, pensou melhor ter cuidado;)
p2or

@ChristianRau A remoção de "Thanks" deve ser discutida em uma meta, isso é diferente em todos os sites de troca de pilhas ...
p2ou

1
@poor Não, não é verdade. Isso é algo que nunca muda. E desde que não tenhamos regras especiais, empregamos as SE gerais de qualquer maneira. Mas, mesmo assim, mal consigo imaginar alguém para votar isso seja permitido aqui. Nunca vi isso como uma boa prática em nenhum outro site de SE.
Chris diz Reinstate Monica

Respostas:


31

O termo "traçado de raios distribuídos" foi originalmente cunhado por Robert Cook neste artigo de 1984. Sua observação foi a de que, para realizar a suavização de serrilhado em um traçador de raios, o renderizador precisa realizar upsampling espacial - isto é, coletar mais amostras (ou seja, disparar mais raios) do que o número de pixels na imagem e combinar seus resultados. . Uma maneira de fazer isso é disparar vários raios em um pixel e calcular a média de seus valores de cores, por exemplo. No entanto, se o renderizador já estiver rastreando vários raios por pixel de qualquer maneira para obter uma imagem sem serrilhado, esses raios também poderão ser "distribuídos" entre dimensões adicionais, além da posição do pixel, para mostrar efeitos que não puderam ser capturados por um único raio. . O importante é que isso ocorre sem nenhum custo adicional além da amostragem espacial, já que você já está rastreando esses raios adicionais. Por exemplo,

O traçado de raios de Monte Carlo é um termo ligeiramente ambíguo. Na maioria dos casos, refere-se a técnicas de renderização que resolvem a equação de renderização, introduzido por Jim Kajiya em 1986, usando a integração Monte Carlo. Praticamente todas as técnicas modernas de renderização que resolvem a equação de renderização, como rastreamento de caminho, rastreamento bidirecional, mapeamento progressivo de fótons e VCM, podem ser classificadas como técnicas de rastreamento de raios Monte Carlo. A idéia da integração de Monte Carlo é que podemos calcular a integral de qualquer função escolhendo aleatoriamente pontos no domínio de integração e calculando a média do valor da função nesses pontos. Em um nível alto, no traçado de raios de Monte Carlo, podemos usar essa técnica para integrar a quantidade de luz que chega à câmera dentro de um pixel para calcular o valor do pixel. Por exemplo, um rastreador de caminho faz isso escolhendo aleatoriamente um ponto dentro do pixel para disparar o primeiro raio e, em seguida, continua escolhendo aleatoriamente uma direção para continuar na superfície em que pousa, e assim por diante. Também poderíamos escolher aleatoriamente uma posição no eixo do tempo, se quisermos desfocar o movimento, ou escolher aleatoriamente um ponto na abertura, se quiséssemos fazer a profundidade de campo ou ...

Se isso soa muito semelhante ao traçado de raios distribuído, é porque é! Podemos pensar no traçado de raios distribuído como uma descrição muito informal de um algoritmo de Monte Carlo que mostra certos efeitos como sombras suaves. O artigo de Cook não possui a estrutura matemática para realmente raciocinar corretamente, mas você certamente poderia implementar o traçado de raios distribuído usando um renderizador simples de Monte Carlo. Vale ressaltar que o traçado de raios distribuídos carece de descrição dos efeitos da iluminação global, que são modelados naturalmente na equação de renderização (deve-se mencionar que o artigo de Kajiya foi publicado dois anos após o artigo de Cook).

Você pode pensar no traçado de raios de Monte Carlo como uma versão mais geral do traçado de raios distribuído. O traçado de raios de Monte Carlo contém uma estrutura matemática geral que permite lidar com praticamente qualquer efeito, incluindo os mencionados no papel de traçado de raios distribuído.

Atualmente, "rastreamento de raios distribuídos" não é realmente um termo usado para se referir ao algoritmo original. Você o ouvirá com mais frequência em conjunto com os "efeitos de distribuição", que são simplesmente efeitos como desfoque de movimento, profundidade de campo ou sombras suaves que não podem ser manipuladas com um traçador de raios de amostra única.


5

No traçado de raio distribuído , você estocástico faz a amostragem de muitos raios em direções que podem ou não ser preferidas pelo BRDF. Considerando que, no rastreamento de raio de Monte Carlo ou simplesmente no rastreamento de caminho, você experimenta apenas um raio na direção preferida pelo BRDF . Portanto, há duas vantagens óbvias que o Path Tracing teria:

  • Computacionalmente mais barato. O que significa que, com o mesmo poder de computação, você tem a liberdade de calcular mais acertos de objetos em comparação com o traçado de raios distribuído, onde existem vários raios.
  • Menos barulho. O traçado de raios distribuído coleciona amostras de raios em direções que podem não ser preferidas pelo BRDF, introduzindo assim artefatos indesejados.

E assim, o rastreamento de caminho forneceria melhores resultados.


2
"Considerando que, no rastreamento de raio de Monte Carlo ou simplesmente no rastreamento de caminho, você experimenta apenas um raio na direção preferida pelo BRDF". Por si só, você não sabe como o raio é selecionado. Abordagens ingênuas usam raios aleatórios. Levar em consideração o BRDF é uma amostragem importante e não é inerente ao traçado de raios ou traçado de Monte Carlo.
David Kuri

4
Eu acredito que esta resposta é completamente falsa. Você é livre para multisample raios de saída e pesar seu resultado ao combinar. Você obtém a mesma verdade que a técnica da roleta russa, mas geralmente é aceito que o método anterior é mais caro.
v.oddou
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.