Почему половинный вектор не используется в диффузных расчетах БРДФ Френеля?

8

В настоящее время я работаю с презентацией Earl Hammon Jr PBR Diffuse Lighting для микроповерхностей GGX + Smith (в настоящее время упоминается как [PBR, p.XYZ]) и прочитал (среди прочих) физическое затенение Брента Берли в Disney (теперь упомянутое как [DIS , стр. XYZ], чтобы получить хороший диффузный компонент BRDF. Я застрял в сочетании двух с термином Френеля.

Краткое введение для векторов и углов, как я их использую:

  • ωi - световой вектор
  • ωo - вектор представления
  • ωn - это нормальная макро геометрия

  • θi - это угол между иωiωn

  • θo - это угол между иωoωn
  • θh - это угол между иωnωh
  • αhi - это угол между иωiωh
  • αho - это угол между и (это различие для пояснения)ωoωh
  • αh - это любой из углов , , поскольку они равныαhiαho

Теперь, учитывая, что является -термином зеркального компонента без коэффициента Френеля, а соответственно, термином диффузного компонента без френелева составляющего, коэффициент Френеля записывается как . [PBR, стр.105] упоминает, что рассеянный свет передается два раза, один раз и один раз. Таким образом, компонент Френеля должен быть умножен в два раза. [PBR, p. 106] далее говорится, что законы Френеля являются симметричными, что означает, что вход и выход не зависят от направления (то есть не имеет значения, когда мы войдем в материал из воздуха и когда мы выйдем в воздух). Теперь я хотел бы предположить (для Френеля для входа и для Френеля, оставляя материал) использоватьrsrdF(angle)F1F2

(1F1(αhi))(1F2(αho))

F1 и - это и та же функция, а и - один и тот же угол, поэтомуF2αhiαho

(1F(αh))2

Это привело бы к BRDF :f

f=F(αh)rs+(1F(αh))2rd

Но [PBR, стр.113] и [DIS, стр.14] используют

f=F(αh)rs+(1F(θi))(1F(θo))rd

как и в оригинальной статье для использования такого рода расчетов Shirely et al. 1997. Я просто не понимаю, почему они меняются от углов микроразмера до углов макро? Микрофасные углы ведут к энергетическому разговору

F[0,1] (1F)[0,1] (1F)2[0,1] и(1F(αh))>=(1F(αh))2)

это должно быть взаимным

f(θi,θo)=F(αhi)rs+(1F(αhi))(1F(αho)rd=F(αh)rs+(1F(αh))2rd=F(αho)rs+(1F(αho))(1F(αhi))rd=f(θo,θi)

и, таким образом, выполнить требования BRDF. Угол микроразмера используется для термина зеркального отражения, поэтому более разумно интерполировать между зеркальным и рассеянным компонентом (игнорируя факт двух передач для этого аргумента). Вместо этого [PBR, с.113] и [DIS, с. 14] положить в расчет шероховатости и оставить это довольно необъяснимым.θh

В дополнение к моему замешательству по этому поводу в слайдах с объяснениями [PBR, p.187] используется скалярное произведение (и, следовательно, угол ) и позже [PBR, p. 191] также скалярное произведение ( ).ωhωoαhoωhωiαhi

тара
источник

Ответы:

5

В конце концов я обнаружил недостаток в своей аргументации, чтобы использовать половинный вектор для диффузной части.

TL; DR версия:

αhi а также αhoне равны, это предположение работает только для зеркальной части. Поэтому энергосбережение не дается.

Более правильно: по определению αhi=αho, но вы не можете использовать их в уравнении, вам нужно использовать нормали микроразмера вместо половинных векторов. Тем не менее, нормальный микроцентр и половина вектора, как правило, не равны.

длинная версия:

Рассеянный BRDF (как и зеркальный) представляет собой интеграцию по всем возможным нормам микроразмера. Обобщенная форма БРДФ:

(1)

f=ΩρmDGcos(αhi)cos(αho)cos(θi)cos(θo)

где - поведение света, когда он достигает микроразмера, - нормальная функция распределения, - геометрическая функция, а остальное - нормализация [PBR, с.16-25] [HEI, с.61f.]ρmDG

Теперь для зеркального BRDF, поведение является идеальным отражением. Это означает, что только микрообласти, в которых нормальное микроразличие равно половине вектора между направлением света ( ) и видом ( ), отражают свет от направления света к направлению обзора. Математически это переводится в дельта-функцию Дирака . Количество света , отраженного определяется Френеля . С учетом изменений в области интеграции [PBR, с.31-41] это приводит к тому, что ( является специфической специфической реакцией микрообъектов для зеркальной части):ωmωhωiωoδ(ωh)Fρm,s

(2)

ρm,s=δ(ωh)F4αhiαho

Вставьте это в (1), и вы интегрируетесь с любым , но дельта-функция Дирака заставляет вас игнорировать все, где . Это хорошая вещь о тех дельта-функциях Дирака, «отмена» интеграла. Таким образом, вы пришли к известной известной BRDF [PBR, p.43]ωmωmωh

(3)

fs=FDG4cos(θi)cos(θo)

и здесь вы можете спокойно предположить . Часть Френеля делает это одной стороной линейной интерполяции (учитывая, что это отношение отражаемого света).αhi=αho

С другой стороны, у вас все еще есть интеграл, и вы не можете «отменить» его чем-либо. Пусть будет углом между нормалью микроразмера и направлением света, theta_mo между нормалью микроразмера и директорией вида (в отличие от и , которые специально определены для половины угол!). Это означает 2 важные вещи:θmiαhiαho

(4)

θmiαhi=αh=αhoθmoωmωh

и (поскольку диффузная реакция света при достижении микрообъектов) зависит от Френеля, он может использовать только неотраженные части, но вы не можете просто предположить, что КАЖДЫЙ микроразмер нормальный рассеиватель отражает весь свет, который не отражался зеркально (т.е. ).ρm,d(1F(αh))

Итак, проблема в том, что одна сторона этой линейной интерполяции - аналитически разрешимая зеркальная BRDF без интеграла. С другой стороны, у вас есть коэффициент интерполяции внутри интеграла, и, таким образом, вы будете использовать его для любого нормального микроразмера. Это больше не экономит энергию, если вы моделируете с помощью ламбертовского члена.ρm,d

Если вам удастся вытащить часть из интеграла, тогда и только тогда вы сможете использовать половинный вектор как для зеркальных, так и для рассеянных BRDF, в противном случае вам придется обрабатывать их по-разному.1F

Если вы все еще хотите использовать половинный вектор для «интерполяции Френеля», то вам нужно нормализовать.

f=F(αh)rs+(1F(αh))rdk

При выбранном , так чтоk

rdk=1

Обратите внимание, что прежнему включает в себя интеграл по всем возможным нормам микроразмера.rd

Использование иθiθo

Полагаю, мне следует добавить предложение об фактически используемых углах, потому что вопрос, который я изначально задавал, был не просто «почему не », но также «почему и ». Так что для людей интересующихся, если это правильно: Нет. Это всего лишь приближение.αhθiθo

Вместо этого мы можем изменить матовый член, чтобы он представлял собой простое приближение, которое отражает важное качественное угловое поведение [...].

[ШИ, стр.46]

Дискуссия о том, почему это так сложно понять

Теперь [DIS, p.14] и [PBR, p.100,184] цитировали [SHI] и [ASH] по этому вопросу, где [ASH] использует [SHI], так что все сводится к модели последнего. И, учитывая, что [DIS] и [PBR] являются ненаучными (хотя и довольно хорошо продуманными) публикациями, я не могу их сильно винить, но на самом деле, лучший способ цитирования статей или дополнительного объяснения мог бы помочь и спасти я около 2 недель думал, читал и почти начинал работу над тем, почему все (предположительно) неправы.

Более того, ни один из них на самом деле не объясняет свои диффузные приближения, [PBR, p.193] просто упоминает, что пробовал разные функции, пока не увидел ту, которая ему понравилась.

Кроме того, [SHI, стр.46] фактически цитировал [SCH, стр.10f.], Который использовал линейную интерполяцию между и . Однако [SHI, p.46] цитировал его неправильно, они сказали, что он использовал и . Предполагая это, они, конечно, правы, полагая, что [SCH] не является энергосберегающим, но это привело меня к мысли, что и будут. Я не могу сказать, что их ошибка могла быть с использованием .F(αh)1F(αh)F(θi)1F(αh)F(αh)1F(αh)F(θi)

Литература

  • [ASH] Модель BRDF с анизотропным фонгом, в Journal of Graphics Tools Vol. 5, № 2, Майкл Ашихмин и Питер Ширли, 2000
  • [SCH] Неэкспрессивная модель BRDF для физического рендеринга, в форуме компьютерной графики Vol. 13, № 3, Кристоф Шлик, 1994
  • [SHI] Оценка практиками моделей отражения света, на пятой Тихоокеанской конференции по компьютерной графике и приложениям, 1997. Труды, Питер Ширли, Хелен Ху, Брайан Смитс и Эрик Лафортун, 1997
  • [DIS] Физическое затенение в Disney, на SIGGRAPH 2012 Курс: физическое затенение в производстве фильмов и игр, Брент Берли, 2012
  • [ВУЗ] Понимание функции маскировки-тени в BRDF на основе микрообъектов, в Journal of Computer Graphics Techniques Vol. 3, № 2, Эрик Хейц, 2014
  • [PBR] PBR Диффузное освещение для микроповерхностей GGX + Smith, на GDC2017, Эрл Хэммон-младший, 2017
тара
источник
1

Мы на самом деле изучаем эту статью для нашей собственной модели GGX BRDF Metall & Edge_tint, и мы обнаружили одну важную проблему.

Хэммон по-прежнему использует приближение Френеля Шлика для своего микро-спектрального следа луча, который в действительности работает только для диэлектриков (и проводников, но с взломом).

Но мы приложили все усилия к реальному Френелю (отбрасывая поляризацию) и выполнили полный расчет, что позволило нам установить когда мы вообще не хотим зеркального отражения на поверхности.F0=0

https://github.com/Crisspl/IrrlichtBAW/commit/914b50d7238fc4a30f23fc2a4ea570e467f4ab75#r34031272

Проблема в том, что Schlick разваливается при , поэтому диффузия GGX будет слишком темной для этих материалов (поскольку она по-прежнему предполагает низкую пропускную способность при углах обзора).F0<0.02

Кроме того, мне воняет то, что DIS и PBR используют что является приближением с суммой (Френеля со средней нормой фасета) вместо правильный расчет, который будет средневзвешенным по Френелю с каждой возможной нормалью фасета, конечно же, взвешенным с помощью функции нормального распределения.(1F(θi))(1F(θo))

В PBR smoothкомпонент может оставаться как есть (за исключением того, что Schlick потребуется заменить на соответствующий Френеля), но мне интересно, что roughи multiдолжно было бы стать с .F0<0.02

Я предполагаю, что roughэто, вероятно, изменится очень мало, но достаточно, чтобы иметь значение (так как при GGX NDF является константой), если . α=1F0=0

Я надеюсь, что мы могли бы отправить Э. Хаммону электронное письмо и посмотреть, можно ли будет повторно запустить симуляцию для полного Френеля и расширенного диапазона IoR (F0), включая 1,0 (0,0).

РЕДАКТИРОВАТЬ: Seb. Лагард также обеспокоена тем же, что и я, в отношении используемого Френеля http://openproblems.realtimerendering.com/s2017/02-PhysicallyBasedMaterialWhereAreWe.pdf

Devsh
источник