В конце концов я обнаружил недостаток в своей аргументации, чтобы использовать половинный вектор для диффузной части.
TL; DR версия:
αч я а также αч оне равны, это предположение работает только для зеркальной части. Поэтому энергосбережение не дается.
Более правильно: по определению αч язнак равноαч о, но вы не можете использовать их в уравнении, вам нужно использовать нормали микроразмера вместо половинных векторов. Тем не менее, нормальный микроцентр и половина вектора, как правило, не равны.
длинная версия:
Рассеянный BRDF (как и зеркальный) представляет собой интеграцию по всем возможным нормам микроразмера. Обобщенная форма БРДФ:
(1)
езнак равно∫Ωρм∗ D ∗ G ∗ cos(αч я) ∗ cos(αч о)соз(θя) ∗ cos(θо)
где - поведение света, когда он достигает микроразмера, - нормальная функция распределения, - геометрическая функция, а остальное - нормализация [PBR, с.16-25] [HEI, с.61f.]ρмDг
Теперь для зеркального BRDF, поведение является идеальным отражением. Это означает, что только микрообласти, в которых нормальное микроразличие равно половине вектора между направлением света ( ) и видом ( ), отражают свет от направления света к направлению обзора. Математически это переводится в дельта-функцию Дирака . Количество света , отраженного определяется Френеля . С учетом изменений в области интеграции [PBR, с.31-41] это приводит к тому, что ( является специфической специфической реакцией микрообъектов для зеркальной части):ωмωчасωяωоδ(ωчас)Fρм , с
(2)
ρм , сзнак равноδ(ωчас) ∗ F4 ∗αч я*αч о
Вставьте это в (1), и вы интегрируетесь с любым , но дельта-функция Дирака заставляет вас игнорировать все, где . Это хорошая вещь о тех дельта-функциях Дирака, «отмена» интеграла. Таким образом, вы пришли к известной известной BRDF [PBR, p.43]ωмωм≠ωчас
(3)
еsзнак равноF∗ D ∗ G4 ∗ cos(θя) ∗ cos(θо)
и здесь вы можете спокойно предположить . Часть Френеля делает это одной стороной линейной интерполяции (учитывая, что это отношение отражаемого света).αч язнак равноαч о
С другой стороны, у вас все еще есть интеграл, и вы не можете «отменить» его чем-либо. Пусть будет углом между нормалью микроразмера и направлением света, theta_mo между нормалью микроразмера и директорией вида (в отличие от и , которые специально определены для половины угол!). Это означает 2 важные вещи:θм яαч яαч о
(4)
θм я≠αч язнак равноαчасзнак равноαч о≠θм о∀ωм≠ωчас
и (поскольку диффузная реакция света при достижении микрообъектов) зависит от Френеля, он может использовать только неотраженные части, но вы не можете просто предположить, что КАЖДЫЙ микроразмер нормальный рассеиватель отражает весь свет, который не отражался зеркально (т.е. ).ρм , д( 1 - F(αчас) )
Итак, проблема в том, что одна сторона этой линейной интерполяции - аналитически разрешимая зеркальная BRDF без интеграла. С другой стороны, у вас есть коэффициент интерполяции внутри интеграла, и, таким образом, вы будете использовать его для любого нормального микроразмера. Это больше не экономит энергию, если вы моделируете с помощью ламбертовского члена.ρм , д
Если вам удастся вытащить часть из интеграла, тогда и только тогда вы сможете использовать половинный вектор как для зеркальных, так и для рассеянных BRDF, в противном случае вам придется обрабатывать их по-разному.1 - F
Если вы все еще хотите использовать половинный вектор для «интерполяции Френеля», то вам нужно нормализовать.
е= F(αчас) ∗рs+ ( 1 - F(αчас) ) ∗рd∗ к
При выбранном , так чтоК
рd∗ k = 1
Обратите внимание, что прежнему включает в себя интеграл по всем возможным нормам микроразмера.рd
Использование иθяθо
Полагаю, мне следует добавить предложение об фактически используемых углах, потому что вопрос, который я изначально задавал, был не просто «почему не », но также «почему и ». Так что для людей интересующихся, если это правильно: Нет. Это всего лишь приближение.αчасθяθо
Вместо этого мы можем изменить матовый член, чтобы он представлял собой простое приближение, которое отражает важное качественное угловое поведение [...].
[ШИ, стр.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)1−F(αh)F(θi)1−F(αh)F(αh)1−F(α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