TL; DR
Ya, Anda bisa melakukannya seperti itu, Anda hanya perlu membagi hasilnya dengan kemungkinan memilih arah.
Jawaban Lengkap
Topik pengambilan sampel dalam pelacak jalur yang memungkinkan bahan dengan refleksi dan pembiasan sebenarnya sedikit lebih kompleks.
Mari kita mulai dengan latar belakang terlebih dahulu. Jika Anda mengizinkan BSDF - bukan hanya BRDF - di pelacak jalur Anda, Anda harus mengintegrasikan seluruh bola bukan hanya belahan positif. Sampel Monte Carlo dapat dihasilkan oleh berbagai strategi: untuk penerangan langsung Anda dapat menggunakan BSDF dan pengambilan sampel cahaya, untuk penerangan tidak langsung, satu-satunya strategi yang berarti biasanya adalah pengambilan sampel BSDF. Strategi pengambilan sampel itu sendiri biasanya berisi keputusan tentang belahan mana yang akan diambil sampel (misalnya apakah refleksi atau refraksi dihitung).
Dalam versi yang paling sederhana, sampling cahaya biasanya tidak terlalu memerhatikan refleksi atau refraksi. Ini sampel sumber cahaya atau peta lingkungan (jika ada) sehubungan dengan sifat cahaya. Anda dapat meningkatkan pengambilan sampel peta lingkungan dengan memilih hanya belahan bumi di mana material memiliki kontribusi tidak nol, tetapi sisa properti material biasanya diabaikan. Perhatikan bahwa untuk dan bahan Fresnel idealnya halus, pengambilan sampel cahaya tidak berfungsi.
Untuk pengambilan sampel BSDF, situasinya jauh lebih menarik. Kasing yang Anda jelaskan berkaitan dengan permukaan Fresnel yang ideal, di mana hanya ada dua arah yang berkontribusi (karena Fresnel BSDF sebenarnya hanya jumlah dari dua fungsi delta). Anda dapat dengan mudah membagi integral menjadi jumlah dua bagian - satu refleksi dan satu untuk pembiasan. Karena, seperti yang Anda sebutkan, kami tidak ingin pergi ke dua arah dalam pelacak jalur, kami harus memilih satu. Ini berarti bahwa kami ingin memperkirakan jumlah angka dengan memilih satu saja. Ini dapat dilakukan dengan estimasi Monte Carlo diskrit: pilih salah satu dari addend secara acak dan bagi dengan kemungkinan dipungut. Dalam kasus ideal Anda ingin memiliki probabilitas sampling proporsional dengan penambahannya, tetapi karena kami tidak tahu nilainya (kami tidak perlu memperkirakan jumlahnya jika kami mengetahuinya), kami hanya memperkirakannya dengan mengabaikan beberapa faktor. Dalam hal ini, kami mengabaikan jumlah cahaya yang masuk dan hanya menggunakan reflektansi / transmisi Fresnel sebagai perkiraan kami.
Oleh karena itu, rutin pengambilan sampel BSDF untuk kasus permukaan Fresnel yang halus adalah untuk memilih salah satu arah secara acak dengan probabilitas yang sebanding dengan reflektansi Fresnel dan, pada beberapa titik, membagi hasil untuk arah itu dengan probabilitas memilih arah. Estimator akan terlihat seperti:
Lsaya( ωsaya) F( θsaya)P( ωsaya)= Lsaya( ωsaya) F( θsaya)F( θsaya)= Lsaya( ωsaya)
ωsaya= ( ϕsaya, θsaya)Lsaya( ωsaya)F( θsaya)P( ωsaya)F(θsaya)
Dalam kasus model BSDF yang lebih canggih seperti yang didasarkan pada teori microfacet, pengambilan sampel sedikit lebih kompleks, tetapi gagasan untuk memecah seluruh integral menjadi jumlah sub-integral yang terbatas dan menggunakan Monte Carlo diskrit setelah itu biasanya dapat diterapkan juga.