Шлях простеження BRDF Cook-Torrance


27

- Вибачте за довгий пост, але я вважаю за краще зробити так, бо " Чорт у деталях ". :)

Я пишу прослідковувач шляху з нуля, і він чудово працює для ідеально дифузних (ламбертіанських) поверхонь ( тобто тест печі вказує - принаймні візуально - на те, що це енергозбереження, і надані зображення відповідають тим, що генеруються за допомогою ретранслятора Mitsuba параметри). Зараз я реалізую підтримку монтажного терміну оригінальної моделі мікрофайлів Cook-Torrance, щоб зробити деякі металеві поверхні. Однак, схоже, цей ФРР відображає більше енергії, ніж отримана. Дивіться приклади зображень нижче:

Мітсуба еталонне зображення.

Зображення вгорі: посилання Міцуби (вважається правильним) зображення: Шлях трасування з прямим відбором світла, важливість відбору проб півкулі, максимальна довжина шляху = 5, 32 стратифікований спр, коробний фільтр, шорсткість поверхні = 0,2, RGB.

Надане зображення

Зображення вгорі: Фактичне зображення: фактичне відстеження непростої траєкторії, рівномірне відбір проб півсфери, максимальна довжина шляху = 5, 4096 стратифікований спп, коробчастий фільтр, шорсткість поверхні = 0,2, RGB. Незважаючи на деякі відмінності щодо налаштувань візуалізації, очевидно, що відтворене зображення не збігатиметься з посиланням, показаним раніше.

Я схильний вважати, що це не проблема реалізації, а питання щодо правильного використання моделі Cook-Torrance в рамках рівняння візуалізації. Нижче я пояснюю, як я оцінюю дзеркальний BRDF, і я хотів би знати, чи правильно я це роблю, і якщо ні, то чому.

Перш ніж вдаватися до деталей, що містять грязі, зауважте, що рендерінг є досить простим: 1) реалізує лише алгоритм відстеження наївного шляху грубої сили - ні прямий вибірки світла, ні двонаправлене трасування шляху, ні MLT; 2) весь відбір проб є рівномірним на півкулі над точкою перетину - взагалі немає важливого відбору проб, а також для дифузних поверхонь; 3) шлях променя має фіксовану максимальну довжину 5 - немає російської рулетки; 4) сяйво / коефіцієнт відбиття повідомляється через кортежі RGB - відсутність спектрального відображення.

Модель мікрофайла Cook Torrance

Зараз я спробую побудувати шлях, який я пройшов, щоб реалізувати виразний вираз оцінки БРР. Все починається з рівняння візуалізації де p - точка перетину на поверхні , w o - вектор перегляду, w i

Lo(p,wo)=Le+ΩLi(p,wi)fr(wo,wi)cosθdω
pwowi- вектор світла, - вихідне сяйво вздовж w o , L i - випромінювання випромінювання при p по w i та cos θ = nw i .LowoLipwicosθ=nwi

Вищевказаний інтеграл ( тобто термін відображення рівняння візуалізації) можна наблизити за допомогою наступного оцінки Монте-Карло деp- функція щільності ймовірності (PDF), яка описує розподіл векторів вибіркиwk.

1Nk=1NLi(p,wk)fr(wk,wo)cosθp(wk)
pwk

Для фактичного візуалізації повинні бути вказані BRDF та PDF. У випадку з оглядовим терміном моделі Кука-Торранса я використовую наступний BRDF де D=1

fr(wi,wo)=DFGπ(nwi)(nwo)
D=1m2(nh)4exp((nh)21m2(nh)2)
F=cspec+(1cspec)(1wih)5
G=min(1,2(nh)(nwo)woh,2(nh)(nwi)woh)
h=wo+wi|wo+wi|cspecFF, також відомий як наближення Шліка , є ефективним і менш точним наближенням до фактичного терміна Френеля.

Обов'язковим буде використання проб важливості у випадку надання гладких окулярних поверхонь. Однак я моделюю лише досить шорсткі поверхні ( ), таким чином, я вирішив деякий час тримати рівномірний відбір проб (ціною довшого часу надання). У цьому випадку PDF є єдиний PDF та Cook-Torrance BRDF в оцінку Монте-Карло (зауважте, що є замінена , випадкова величина), я отримую m0.2

p(wk)=12π
wiwk
1Nk=1NLi(p,wk)(DFGπ(nwk)(nwo))cosθ(12π)
Тепер ми можемо скасувати 'і видалити підсумок, тому що ми знімаємо лише один випадковий промінь від точки перетину. Ми закінчуємо Оскільки , ми можемо додатково спростити це π
2Li(p,wk)(DFG(nwk)(nwo))cosθ
cosθ=nwk
2Li(p,wk)(DFGnwo)

Отже, це вираз, який я оцінюю, коли промінь потрапляє в окулярну поверхню, відбивна здатність якої описана BRDF Cook-Torrance. Це вираження, яке, здається, відображає більше енергії, ніж отримане. Я майже впевнений, що з цим (або в процесі деривації) щось не так, але я просто не можу цього помітити.

Цікаво, що якщо я помножую вищенаведений вираз на , я отримую результати, які виглядають правильними. Однак я відмовився це робити, бо не можу математично це виправдати.1π

Будь-яка допомога дуже вітається! Дякую!

ОНОВЛЕННЯ

Як @wolle вказував нижче, у цій роботі представлена ​​нова рецептура, що краще підходить для відстеження траєкторії, де нормальна функція розподілу (NDF) включає коефіцієнт а BRDF включає коефіцієнт. Таким чином і Відхилити включення вищевказаних рівнянь у рівняння візуалізації, в якому я закінчився D1πfr14

Dnew=1πm2(nh)4exp((nh)21m2(nh)2)
frnew(wi,wo)=DFG4(nwi)(nwo)
π2Li(p,wk)(DnewFGnwo)
що працювало чудово! PS: Тепер питання полягає в тому, щоб краще зрозуміти, як нова рецептура і допомагає у збереженні енергозбереження ... але це вже інша тема.Dfr

ОНОВЛЕННЯ 2

Як вказував PeteUK , авторство формулювання Френеля, представлене в оригінальному тексті мого питання, було неправильно віднесено до Кука і Торрансу. Формула Френеля, використана вище, насправді відома як наближення Шліка і названа на честь Крістофа Шліка. Оригінальний текст питання було відповідно змінено.


Не впевнений, чи ви все ще відвідуєте цей сайт, але у мене є питання щодо рівняння Френеля і опублікував його тут
PeteUK

Відповіді:


12

Згідно з цим документом , у вашому повинен бути : тож ви закінчите 1πfr14

fr=DFG4(nwi)(nwo),
π2Li(p,wk)(DFGnwo).

Я бачив цю іншу формулювання для BRDF Cook-Torrance, де рівняння множимо на замість . Однак, врешті-решт, ефект від цієї модифікації дуже малий, оскільки ми би замінили 2, присутні в остаточному рівнянні, на 1,57 ( ). Я зробив тут тест (про всяк випадок ...), і справді проблема зберігалася. 141π=π2
Крістіан Пагот

@Capagot Коефіцієнт іноді включається до інтенсивності джерела світла (за домовленістю) і залишається поза BRDF; див. також це питання . Але це частіше у візуалізації в режимі реального часу, ніж у відстеженні контуру. Крім того, ви кажете, що ваші тести Ламбертіана чудово відповідають Мітсубі, тому здається, що це мало ймовірно, що це питання ... все ж це, можливо, варто розглянути. 1/π
Натан Рід

@Capagot Я думаю , що Ви пропускаєте у вашій функції розподілу . Документ, до якого я посилався, включає цей фактор у розподілі Бекмана, який ви використовуєте, тому маючи у та у слід зробити трюк. 1πD14fr1πD
вол

@NathanReed Я читав статтю про вбудовування в колір. Однак з тієї причини, яку ви згадали, я переконався, що це не проблема. π
Крістіан Пагот

@wolle Рівно! Насправді я вже швидко поглянув на згаданий вами папір, але я цього не помітив! Я щойно змінив свою реалізацію, щоб врахувати у та у , і все зараз працює як шарм! Я включу оновлення до питання з відповіддю! Дякую! 1πD14fr
Крістіан Пагот

13

Я публікую це для тих, хто цікавиться про плутанину між термінами і .1π14

Термін - помилка в оригіналі посилання Cook-Torrance.1π

Насправді, весь термін походить від якобіанського перетворення від відбитого твердого кута до нормального твердого кута.14(nωi)

На думку більшості праць, термін вперше з'явився в [Torrance, 67] .14

Для приємного пояснення терміна слід переглянути [Nayar, 91] , додаток D. Ось зображення з цього ж паперу:

dω=dωr4cosθi

Також Джо Стам погоджується із терміном Найра в [Stam 01, Модель освітлення шкірного шару, обмеженого грубими поверхнями], додаток B.14

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