Qual é a "aproximação dipolar" para espalhamento abaixo da superfície?

18

Se você ler artigos sobre espalhamento de subsuperfície, frequentemente encontrará referências a algo chamado "aproximação de dipolo". Este termo parece voltar ao artigo Um Modelo Prático para Transporte de Luz Subterrâneo, de Henrik Wann Jensen et al., Mas este artigo é bastante difícil de entender.

Alguém pode explicar em termos relativamente simples o que é a aproximação dipolo e como é usada na renderização da dispersão na subsuperfície?

Nathan Reed
fonte
11
É de fato um artigo complicado (ainda me dá pesadelos de vez em quando!), Mas tentei simplificar um pouco a coisa toda. Deixe-me saber se você acha que o abaixo resposta deve ser ajustado de uma forma ou de outra :)
cifz

Respostas:

23

A suposição subjacente a esse modelo é igual a muitos outros modelos para renderização de capa; a dispersão da subsuperfície pode ser aproximada como um fenômeno de difusão. Isso é bom porque, em meios altamente dispersantes, a distribuição da luz perde a dependência do ângulo e tende à isotropia.

A aproximação dipolar é uma formulação para a resolução desse problema de difusão de forma analítica.

Basicamente, eles começam aproximando o BSSRDF como um componente de dispersão múltipla e única. A dispersão múltipla é então definida como:

insira a descrição da imagem aqui

Onde Ft são termos de Fresnel e R é o perfil de difusão expresso em função da distância entre o ponto de entrada e saída.

Este R é referido como perfil de difusão e eles formulam esse perfil através de uma aproximação dipolar. A contribuição do raio de luz recebido é considerada uma das duas fontes virtuais: uma negativa abaixo da superfície e uma positiva acima dela (é por isso que o dipolo)

insira a descrição da imagem aqui

xixo

Esse modelo é responsável apenas por vários eventos de dispersão, mas isso é suficiente para a pele. Deve-se notar, porém, que para alguns materiais translúcidos (por exemplo, fumaça e mármore), a dispersão única é fundamental. Esse artigo propõe uma formulação de dispersão única, mas é caro.

O perfil de difusão é geralmente aproximado para aplicação em tempo real como uma série de borrões gaussianos (como nos trabalhos seminais de D'Eon et al. Em GPU Gems 3, em seguida, usados ​​para o SSSSS de Jimenez), para torná-lo prático para cenários em tempo real . No presente trabalho maravilhoso existem detalhes sobre tal aproximação. Uma imagem desse artigo mostra realmente como essa formulação é boa:

insira a descrição da imagem aqui

Como observação lateral, a aproximação de dipolo pressupõe que o material é semi-infinito; no entanto, essa suposição não se aplica a lajes finas e material de várias camadas, como a pele. Com base no trabalho de dipolo, Donner e Jensen [2005] propuseram a aproximação multipolar que explica os problemas de dipolo. Com esse modelo, em vez de um único dipolo, os autores usam um conjunto deles para descrever o fenômeno de espalhamento. Nessa formulação, os perfis de refletância e transmitância podem ser obtidos resumindo a contribuição dos diferentes dipolos envolvidos


EDIT: Estou colocando aqui as respostas para algumas das perguntas de @NathanReed na seção de comentários:

Mesmo com a aproximação do perfil de difusão, o modelo BSSRDF ainda exige a integração em um raio de pontos próximos na superfície para captar a luz que entra, correto? Como isso é realizado, digamos, em um rastreador de caminho? Você precisa construir alguma estrutura de dados para poder amostrar pontos na superfície próxima a um determinado ponto?

A aproximação do BSSRDF ainda precisa ser integrada em uma determinada área, sim.

No artigo vinculado, eles usaram um traçador de raios Montecarlo amostrando aleatoriamente em torno de um ponto com uma densidade definida como:

σtreσtrd

Onde esse valor sigma é o coeficiente de extinção efetivo definido abaixo (depende do coeficiente de dispersão e absorção, que são propriedades do material) ed é a distância até o ponto que estamos avaliando. Essa densidade é assim definida porque o termo de difusão apresenta queda exponencial.

Em [Jensen e Buhler 2002] eles propuseram uma técnica de aceleração. Um dos principais conceitos foi dissociar a amostragem da avaliação do termo de difusão. Dessa forma, eles realizam uma avaliação hierárquica das informações computadas durante a fase de amostragem para agrupar amostras distantes quando se trata de avaliar a difusão. A implementação descrita no documento usa uma octree como estrutura. Essa técnica, de acordo com o artigo, é de ordem de magnitude mais rápida que a integração total de Monte Carlo.
Infelizmente, nunca me envolvi em uma implementação off-line, por isso não posso ajudar mais do que isso.

Nas aproximações soma-gaussianas em tempo real, o raio correto é definido implicitamente ao definir a variação dos borrões gaussianos que precisam ser aplicados.

Por que uma luz positiva e uma luz negativa? O objetivo é que eles se cancelem de alguma forma?

Sim, o método da fonte dipolo (que data muito antes do artigo de Jensen) é definido para satisfazer alguma condição de contorno. Especificamente, a fluência deve ser zero em um determinado limite extrapolado que tem uma distância da superfície de onde2AD

insira a descrição da imagem aqui

Sendo a refletividade fresnel da laje considerada e esse valor sigma é o coeficiente de extinção reduzido descrito abaixo.Fdr


EDIT2: Expandi (um pouquinho) alguns dos conceitos nesta resposta em uma postagem no blog: http://bit.ly/1Q82rqT


Para aqueles que não se assustam com muitas letras gregas em uma fórmula, aqui está um trecho da minha tese em que o perfil de refletância é brevemente descrito em cada termo:

insira a descrição da imagem aqui

cifz
fonte
Obrigado! Ainda estou pensando em algumas coisas. (1) Mesmo com a aproximação do perfil de difusão, o modelo BSSRDF ainda exige a integração em um raio de pontos próximos na superfície para captar a luz que entra, correto? Como isso é realizado, digamos, em um rastreador de caminho? Você precisa construir alguma estrutura de dados para poder amostrar pontos na superfície próxima a um determinado ponto? E (2) Por que uma luz positiva e uma luz negativa? O objetivo é que eles se cancelem de alguma forma?
Nathan Reed
1) De fato, o que eles propõem no artigo com seu traçador de raios de Monte Carlo é uma amostragem estocástica com densidade específica baseada no coeficiente de distância e extinção. Acho que você pode arremessar para encontrar amostras e usar uma probabilidade de aceitação apropriada com base no coeficiente de extinção. e distância. (1/2)
cifz 6/08/2015
Eu sei que Jensen publicou uma abordagem de integração hierárquica em 2002 que, infelizmente, eu acabei de ler uma vez e um tempo atrás, então lembro de alguns bits. O conceito central era dissociar a amostragem da aproximação de difusão e amostras distantes de agrupamentos. IIRC eles usaram uma octree como estrutura hierárquica. Eu nunca entrei em uma implementação offline, por isso não tenho tanta ajuda em outros detalhes quanto a isso. (2/2)
cifz 6/08/2015
2) Dessa forma, para satisfazer algumas condições de contorno, você deseja deixar a fluência zero em um determinado limite extrapolado que tem uma distância específica do meio. Esta distância é calculada com base no coeficiente de dispersão e no albedo de dispersão.
Cifz 06/08/2015
@NathanReed Deixe-me saber se isso esclareceu algo, caso contrário, eu posso tentar e ampliar os pensamentos neste comentário na própria resposta
cifz
3

Para entender facilmente a "teoria dos dipolos", primeiro precisamos entender de onde vem a "teoria da difusão".

E vem da simulação do transporte de luz nos meios participantes, resolvendo a equação de transporte de radiação (RTE).

A aproximação de difusão clássica resolve o RTE considerando apenas uma expansão harmônica esférica de primeira ordem do esplendor. Se assumirmos ainda que a função de fonte é uma fonte de ponto isotrópico de potência unitária em um meio homogêneo infinito, chegamos à função de Green de difusão clássica (monopolo).

Ao renderizar materiais translúcidos, é conveniente reformular esse problema por analogia com a integral de reflexão da superfície local. Isso resulta em uma equação integral que calcula o brilho de saída Lo, na posição e direção como uma convolução da iluminação incidente, Li, e o BSSRDF, S, sobre todas as posições e direções incidentes.

Agora, com a função de difusão de Green, não consideramos as condições de contorno impostas pelas superfícies do material. Essas condições podem ser simplesmente tratadas colocando uma fonte negativa espelhada fora do meio para todas as fontes positivas dentro do meio, de modo que a fluência seja zerada a uma distância extrapolada acima da superfície. Esta é a aproximação dipolar.

Portanto, sem condições de contorno, nossa fluência é expressa volumetricamente no meio. Para renderizar a dispersão subterrânea, precisamos calcular a luz deixando vários pontos na superfície. Para que isso aconteça, precisamos calcular perfis de difusão devido a um dipolo para avaliar a derivada direcional da fluência na direção da superfície normal.

Os últimos avanços no BSSRDF vêm da mudança da abordagem volumétrica inicial e da mídia participante com material ad-hoc que leva em consideração melhor as condições de contorno da superfície.

Quanto ao ..

O modelo BSSRDF ainda requer integração em um raio de pontos próximos na superfície para captar a luz que entra ..?

Sim, integramos a luz incidente ao BSSRDF em todas as posições e direções do incidente.

Agora, podemos adotar aqui um método de força bruta ou uma abordagem de arremesso de dardos com roleta russa. Mas ambas são abordagens ingênuas.

O SSS chegou à produção (Pixar Renderman) quando um método de aproximação foi desenvolvido para usar a coleta hierárquica de luz usando uma estrutura de dados octree, na qual a iluminação difusa está disponível para clusters para computação SSS. Com Renderman, essa era uma abordagem natural por causa do REYES, para que todos os micropolígonos gerados a partir do REYES pudessem ser facilmente 'salpicados' em um ponto e inseridos em um octree.

Uma segunda onda de melhorias se baseia na amostragem de importância baseada em disco (Arnold), que agora é a abordagem de fato para muitas implementações de SSS no exterior. Geralmente, definimos um volume de pesquisa (esfera), distribuímos amostras em disco acima da superfície e sondamos ao longo das direções normais e ortogonais para encontrar todos os hits dentro do volume.

Max Tarpini
fonte