TL; DR
Так, ви можете це зробити так, просто потрібно розділити результат на ймовірність вибору напрямку.
Повний відповідь
Тема відбору проб у трасерах, що дозволяють використовувати матеріали з відображенням і заломленням, насправді трохи складніша.
Почнемо спочатку з деякого тла. Якщо ви дозволите BSDF - не лише BRDF - у своєму інструменті простеження шляху, вам доведеться інтегруватись через всю сферу, а не лише позитивну півкулю. Зразки Монте-Карло можуть бути згенеровані різними стратегіями: для прямого освітлення можна використовувати BSDF і вибірку світла, для непрямого освітлення єдиною значущою стратегією зазвичай є вибірка BSDF. Самі стратегії вибірки зазвичай містять рішення про те, яку півкулю потрібно взяти для вибірки (наприклад, чи обчислюється відбиття чи заломлення).
У найпростішій версії вибірка світла зазвичай не дуже піклується про відбиття або заломлення. Він проводить вибірку джерел світла або карти навколишнього середовища (якщо вони є) щодо світлових властивостей. Ви можете покращити вибірку карток навколишнього середовища, вибравши лише півсферу, в якій матеріал має ненульовий внесок, але решта властивостей матеріалу зазвичай ігноруються. Зауважте, що для ідеально гладкого матеріалу Френеля відбір проб світла не працює.
Для вибірки BSDF ситуація набагато цікавіша. Випадок, який ви описали, стосується ідеальної поверхні Френеля, де є лише два напрямки, що сприяють (оскільки Fresnel BSDF насправді є лише сумою двох дельта-функцій). Ви можете легко розділити інтеграл на суму двох частин - одну рефлексію та одну для заломлення. Оскільки, як ви вже згадували, ми не хочемо йти в обох напрямках у відслідковуванні шляху, ми мусимо вибрати його. Це означає, що ми хочемо оцінити суму чисел, вибравши лише одне з них. Це можна зробити за допомогою дискретної оцінки Монте-Карло: виберіть одне з доданків випадковим чином і розділіть його на ймовірність його вибору. В ідеальному випадку ви хочете, щоб імовірність вибірки була пропорційною додаткам, але оскільки ми не знаємо їх значень (нам не доведеться оцінювати суму, якби ми їх знали), ми просто оцінюємо їх, нехтуючи деякими чинниками. У цьому випадку ми ігноруємо кількість вхідного світла і використовуємо лише коефіцієнт відбиття / пропускання Френеля як наші оцінки.
Таким чином, схема вибірки BSDF для випадку гладкої поверхні Френеля полягає в тому, щоб вибрати один із напрямків випадковим чином з імовірністю, пропорційною відбитковій здатності Френеля, і в якийсь момент поділити результат на цей напрямок на ймовірність вибору напрямку. Оцінювач виглядатиме так:
Li(ωi)F(θi)P(ωi)=Li(ωi)F(θi)F(θi)=Li(ωi)
ωi=(ϕi,θi)Li(ωi)F(θi)P(ωi)F(θi)
У випадку складніших моделей BSDF, таких як теорія мікрофайтів, вибірка є дещо складнішою, але ідея розділити цілий інтеграл на кінцеву суму підінтегралів і використовувати згодом дискретний Монте-Карло також може бути застосована.