- Вибачте за довгий пост, але я вважаю за краще зробити так, бо " Чорт у деталях ". :)
Я пишу прослідковувач шляху з нуля, і він чудово працює для ідеально дифузних (ламбертіанських) поверхонь ( тобто тест печі вказує - принаймні візуально - на те, що це енергозбереження, і надані зображення відповідають тим, що генеруються за допомогою ретранслятора 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
Вищевказаний інтеграл ( тобто термін відображення рівняння візуалізації) можна наблизити за допомогою наступного оцінки Монте-Карло деp- функція щільності ймовірності (PDF), яка описує розподіл векторів вибіркиwk.
Для фактичного візуалізації повинні бути вказані BRDF та PDF. У випадку з оглядовим терміном моделі Кука-Торранса я використовую наступний BRDF де D=1
Обов'язковим буде використання проб важливості у випадку надання гладких окулярних поверхонь. Однак я моделюю лише досить шорсткі поверхні ( ), таким чином, я вирішив деякий час тримати рівномірний відбір проб (ціною довшого часу надання). У цьому випадку PDF є єдиний PDF та Cook-Torrance BRDF в оцінку Монте-Карло (зауважте, що є замінена , випадкова величина), я отримую
Отже, це вираз, який я оцінюю, коли промінь потрапляє в окулярну поверхню, відбивна здатність якої описана BRDF Cook-Torrance. Це вираження, яке, здається, відображає більше енергії, ніж отримане. Я майже впевнений, що з цим (або в процесі деривації) щось не так, але я просто не можу цього помітити.
Цікаво, що якщо я помножую вищенаведений вираз на , я отримую результати, які виглядають правильними. Однак я відмовився це робити, бо не можу математично це виправдати.
Будь-яка допомога дуже вітається! Дякую!
ОНОВЛЕННЯ
Як @wolle вказував нижче, у цій роботі представлена нова рецептура, що краще підходить для відстеження траєкторії, де нормальна функція розподілу (NDF) включає коефіцієнт а BRDF включає коефіцієнт. Таким чином і Відхилити включення вищевказаних рівнянь у рівняння візуалізації, в якому я закінчився
ОНОВЛЕННЯ 2
Як вказував PeteUK , авторство формулювання Френеля, представлене в оригінальному тексті мого питання, було неправильно віднесено до Кука і Торрансу. Формула Френеля, використана вище, насправді відома як наближення Шліка і названа на честь Крістофа Шліка. Оригінальний текст питання було відповідно змінено.