У фізично заснованому BRDF який вектор слід використовувати для обчислення коефіцієнта Френеля?


11

Добре відоме наближення Шліка до коефіцієнта Френеля дає рівняння:

F=F0+(1F0)(1cos(θ))5

І cos(θ) дорівнює точковому добутку поверхневого нормального вектора та вектора перегляду.

До сих пір неясно мені , хоча , якщо ми повинні використовувати фактичну поверхню нормальної N або половина вектора H . Що слід використовувати у фізично заснованому BRDF і чому?

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

Це спостереження, як правило, змушує мене думати, що саме тут би прийшов H , але мені не очевидно, що Френел представницького нормального еквівалентний інтеграції Френеля всіх фактичних норм.

Відповіді:


9

У статті Шліка 1994 р. "Недорога модель фізико-заснованої візуалізації" , де вони отримують наближення, формула така:

Fλ(u)=fλ+(1fλ)(1u)5

Де

Опис векторів

Отже, щоб відповісти на ваше перше запитання, θ посилається на кут між вектором перегляду та половинним вектором. Подумайте на хвилину, що поверхня - це ідеальне дзеркало. Отже:

Vreflect(V)
У цьому випадку:
NH

Для microfacet бази ДФО, то D(hr) термін відноситься до статистичного відсотку microfacet нормалей, які орієнтовані на H . Ака, який відсоток вхідного світла буде відскакувати у вихідному напрямку.

Щодо того, чому ми використовуємо Fresnel в BRDF, це пов'язане з тим, що BRDF сам по собі є лише частиною повного BSDF. BRDF послаблює відбиту частину світла, а BTDF послаблює заломлений. Ми використовуємо Fresnel для обчислення кількості відбитого та заломленого світла, тому ми можемо належним чином послабити його за допомогою BRDF та BTDF.

BSDF=BRDF+BTDF
Lo(p,ωo)=Le(p,ωo) + ΩBSDFLi(p,ωi)|cosθi|dωi=Le(p,ωo) + ΩBRDFLi, reflected(p,ωi)|cosθi|dωi + ΩBTDFLi, refracted(p,ωi)|cosθi|dωi

DFHVV


О, я зовсім пропустив, що це вже результат у роботі. Це, безумовно, очищає це. :) Мені доведеться її перечитати, щоб краще зрозуміти, як вона вписується у БРДФ.
Жульєн Гурто

8

HN

Ви написали,

У мене виникають проблеми з розумінням того, чому ми все ще можемо використовувати ту формулу в BRDF, яка повинна наближати інтеграл по всій півкулі.

Це не. БРДФ сам по собі не наближає інтеграл по всій півкулі. Рівняння візуалізації робить таке: ви інтегруєтесь над усіма вхідними світловими напрямками, але щоразу, коли BRDF всередині інтеграла оцінюється, це для одного конкретного вибору напрямків вхідних та вихідних променів.

LVH=normalize(L+V)

HLVLHVH

LV

R=reflect(V,N)RNVN

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.