Шлях прослідковування - багатошарові матеріали та вибіркове значення


12

Наразі я намагаюся реалізувати трасування шляху Монте-Карло. Я провів кілька досліджень і, здається, загальним підходом до матеріалів є використання шаруватої моделі. Щось на зразок цього:

введіть тут опис зображення

Коли світло потрапляє на поверхню, Френель повідомляє нам, яка частина світла відбивається на першому шарі і скільки йде на другий тощо.

Тому я зробив щось подібне, але простіше: лише один шар дзеркального та один шар дифузного. Передачі ще немає. До сих пір я використовую простий косинковий Brdf для мого дифузного, а мікрографову модель Кука-Торранса - для мого окуляра.

Тепер настає важка частина: що мені робити, коли промінь потрапляє на поверхню? Як правило, я б обрав brdf, що відповідає матеріалу поверхні, відібрав напрямок падаючого світла, оцінив brdf та розділив на правильну функцію розподілу ймовірностей.

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

Чи є краще рішення?


1
Ви не можете не «монте-карло» шарами матеріалу? Напр. Вагу кожного шару відповідно до його відбивної здатності та виберіть навмання виходячи з цього. Глибші шари потребують деякого ослаблення на основі суми поглинання всіх шарів над ними.
PaulHK

PaulHK Це саме те, що я роблю в моєму маршрутному прослідкуванні, російській рулетці для кожного інтерфейсу між шарами, так що взагалі немає розгалуження. На жаль, моя реалізація ще не закінчена, тому я не маю інформації про фактичну ефективність. Я базував свою реалізацію на папері "Довільно шаруваті мікро-фасетні поверхні" Андреа Вайдліха та Олександра Вілкі, який, здається, є більш обмеженим, ніж рамки Венцеля Якоба (на що вказував у відповіді Стефан), але який здатний отримання досить хороших результатів і набагато простіше втілити в життя.
Крістіан Пагот

Відповіді:


7

Вензель Якоб та інші представили основу для шаруватих матеріалів на SIGGRAPH 2014. Розділ 6.2 пояснює важливість вибірки. Якщо ви віддаєте перевагу коду над рівняннями, метод реалізований у рендері Mitsuba .


2
Зауважимо, що метод Jakob et al. розраховує на відображення табличних даних BSDF у деяких спеціалізованих представленнях Фур'є. Для детальної інформації також зверніться до відповідного технічного звіту . Реалізація з відкритим кодом також доступна в новітньому, третьому виданні PBRT . Файли BSDF можна генерувати за допомогою шару шарів у Python.
Тізіан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.