В каком физическом BRDF какой вектор следует использовать для вычисления коэффициента Френеля?

11

Хорошо известное шликовское приближение коэффициента Френеля дает уравнение:

Fзнак равноF0+(1-F0)(1-соs(θ))5

И соs(θ) равно точечному произведению вектора нормали поверхности и вектора вида.

До сих пор неясно мне , хотя , если мы должны использовать фактическую поверхность нормальной или половина вектора H . Что следует использовать в BRDF с физической основой и почему?NЧАС

Более того, насколько я понимаю, коэффициент Френеля дает вероятность того, что данный луч либо отразится, либо преломится. Поэтому я не могу понять, почему мы все еще можем использовать эту формулу в BRDF, которая должна аппроксимировать интеграл по всему полушарию.

Это наблюдение заставило бы меня думать, что именно сюда придет , но для меня не очевидно, что френелевская репрезентативная нормаль эквивалентна интегрированию френелевских всех действительных нормалей.ЧАС

Жюльен Геро
источник

Ответы:

9

В статье Шлика 1994 года «Недорогая модель физического рендеринга» , где они получают аппроксимацию, формула имеет вид:

Fλ(U)знак равноеλ+(1-еλ)(1-U)5

куда

Описание векторов

Итак, чтобы ответить на ваш первый вопрос, θ означает угол между вектором обзора и половиной вектора. Подумайте на минуту, что поверхность является идеальным зеркалом. Итак:

Vreflect(V)
В этом случае:
NЧАС

Для microfacet базы ДФО, то D(часр) термин относится к статистическому проценту microfacet нормалей, которые ориентированы на ЧАС . Ака, какой процент входящего света отскочит в исходящем направлении.

Что касается того, почему мы используем Френеля в BRDF, это связано с тем фактом, что BRDF сам по себе является лишь частью полной BSDF. BRDF ослабляет отраженную часть света, а BTDF ослабляет преломленную. Мы используем Френеля для расчета количества отраженного и преломленного света, поэтому мы можем должным образом ослабить его с помощью BRDF и BTDF.

ВSDFзнак равноВрDF+ВTDF
Lо(п,ωо)знак равноLе(п,ωо) + ΩВSDF*Lя(п,ωя)|созθя|dωязнак равноLе(п,ωо) + ΩВрDF*Lя, отражение(п,ωя)|созθя|dωя + ΩВTDF*Lя, преломленный(п,ωя)*|созθя|dωя

Итак, в итоге, мы используем D чтобы получить процент света, который будет отражаться в исходящем направлении, и F , чтобы узнать, какой процент оставшегося света будет отражать / преломлять. Оба они используют ЧАС , потому что это ориентация поверхности, которая позволяет зеркальное отражение между В и В'

RichieSams
источник
О, я полностью упустил, что это уже результат в газете. Это, безусловно, очищает это. :) Мне придется перечитать его, чтобы лучше понять, как он вписывается в BRDF.
Жюльен Герто
8

Коэффициент Френеля должны быть оценены с использованием , а не N .ЧАСN

Вы написали,

Мне трудно понять, почему мы все еще можем использовать эту формулу в BRDF, которая должна аппроксимировать интеграл по всему полушарию.

Это не. Само по себе BRDF не приближает интеграл по всему полушарию. Уравнение рендеринга делает это: вы интегрируете по всем входящим направлениям света, но каждый раз, когда BRDF внутри интеграла оценивается, это для одного конкретного выбора направлений входящего и исходящего луча.

LВЧАСзнак равнонормализуют(L+В)

ЧАСLВLЧАСВЧАС

LВ

Другой случай, который возникает в графике в реальном времени, - это отражение карты окружающей среды. Чтобы быть действительно правильным, мы должны интегрировать карту среды, умноженную на BRDF, по всем направлениям входящего света, но на практике мы часто выбираем карту предварительно отфильтрованного окружения, используя доминирующий вектор отражения рзнак равноотражать(В,N)рNВN

Натан Рид
источник