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:
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)
∥xi−xo∥
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:
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
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: