Предположение, лежащее в основе такой модели, такое же, как и у многих других моделей рендеринга скинов; Подповерхностное рассеяние может быть аппроксимировано как диффузионное явление. Это хорошо, потому что в сильно рассеивающих средах распределение света теряет зависимость от угла и имеет тенденцию к изотропии.
Дипольное приближение является формулировкой для решения такой диффузионной задачи аналитическим способом.
В основном они начинаются с аппроксимации BSSRDF как компонента многократного рассеяния и одного рассеяния. Многократное рассеяние тогда определяется как:
Где - члены Френеля, а R - профиль диффузии, выраженный как функция расстояния между точкой входа и выхода. FTр
Этот называется диффузионным профилем, и они формулируют этот профиль с помощью дипольного приближения. Вклад входящего светового луча считается одним из двух виртуальных источников: один отрицательный под поверхностью и один положительный над ним (поэтому диполь)р
∥ хя- хо∥
Эта модель учитывает только несколько событий рассеяния, но этого достаточно для кожи. Следует отметить, что для некоторых полупрозрачных материалов (например, дыма и мрамора) однократное рассеяние является фундаментальным. Эта статья предлагает единую формулировку рассеяния, но стоит дорого.
Профиль диффузии обычно аппроксимируется для применения в реальном времени в виде серии гауссовых пятен (как в основополагающих работах Д'Эона и др. В GPU Gems 3, которые затем использовались для SSSSS Хименеса), чтобы сделать его практичным для сценариев в реальном времени , В этой замечательной статье есть подробности о таком приближении. Картинка из этой статьи показывает, насколько хороша эта формулировка:
Как примечание стороны, дипольное приближение предполагает, что материал является полубесконечным, однако это предположение не выполняется с тонкими плитами и многослойным материалом, таким как кожа. Опираясь на дипольную работу, Доннер и Дженсен [2005] предложили многополюсное приближение, которое учитывает дипольные проблемы. Используя эту модель вместо одного диполя, авторы используют их набор для описания явления рассеяния. В такой формулировке профили отражения и пропускания могут быть получены путем суммирования вклада различных вовлеченных диполей
РЕДАКТИРОВАТЬ: Я помещаю здесь ответы на пару вопросов @NathanReed в разделе комментариев:
Даже с приближением диффузионного профиля модель BSSRDF все еще требует интегрирования по радиусу соседних точек на поверхности для сбора входящего света, верно? Как это достигается, скажем, в трассировщике пути? Вам нужно построить какую-то структуру данных, чтобы вы могли выбирать точки на поверхности рядом с данной точкой?
Приближение BSSRDF все еще необходимо интегрировать по определенной области, да.
В связанном документе они использовали трассировщик лучей Монте-Карло, произвольно отбирающий образцы вокруг точки с плотностью, определенной как:
σт ре- σт рd
Где это значение сигмы - это эффективный коэффициент экстинкции, определенный ниже (он зависит от коэффициента рассеяния и поглощения, которые являются свойствами материала), а d - это расстояние до точки, которую мы оцениваем. Эта плотность определена таким образом, потому что диффузионный член имеет экспоненциальный спад.
В [Jensen and Buhler 2002] они предложили методику ускорения. Одна из основных концепций состояла в том, чтобы отделить выборку от оценки диффузионного члена. Таким образом, они выполняют иерархическую оценку информации, вычисленной во время фазы выборки, чтобы объединить отдаленные выборки, когда дело доходит до оценки диффузии. Реализация, описанная в статье, использует октодерево в качестве структуры. Этот метод, согласно статье, на порядок быстрее, чем полная интеграция Монте-Карло.
К сожалению, я никогда не занимался автономной реализацией, поэтому не могу помочь больше, чем это.
В приближении суммы гауссианов в реальном времени правильный радиус неявно устанавливается при определении дисперсии гауссовых размытий, которые необходимо применить.
Почему один положительный и один отрицательный свет? Есть ли у них цель как-то отменить друг друга?
2 А Д
Fdр
РЕДАКТИРОВАТЬ 2: Я расширил (чуть-чуть) некоторые концепции в этом ответе в блоге: http://bit.ly/1Q82rqT
Для тех, кого не пугает множество греческих букв в формуле, вот выдержка из моей диссертации, где кратко описывается профиль отражения в каждом термине: