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?
rendering
subsurface-scattering
Nathan Reed
fonte
fonte
Respostas:
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:
OndeFt 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.
EsteR é 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)
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:
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:
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:
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.
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
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:
fonte
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 ..
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.
fonte