Asumsi yang mendasari model tersebut sama dengan banyak model lain untuk rendering kulit; hamburan bawah permukaan dapat diperkirakan sebagai fenomena difusi. Ini bagus karena dalam media yang sangat hamburan, distribusi cahaya kehilangan ketergantungan dari sudut dan cenderung isotropi.
Perkiraan dipol adalah formulasi untuk penyelesaian masalah difusi tersebut secara analitis.
Pada dasarnya mereka mulai dengan mendekati BSSRDF sebagai komponen hamburan ganda dan hamburan tunggal. Beberapa hamburan kemudian didefinisikan sebagai:
Dimana adalah istilah Fresnel dan R adalah profil difusi yang dinyatakan sebagai fungsi jarak antara titik masuk dan keluar. FtR
Ini disebut sebagai profil difusi dan mereka merumuskan profil ini melalui pendekatan dipol. Kontribusi sinar cahaya yang masuk dianggap sebagai salah satu dari dua sumber virtual: satu negatif di bawah permukaan dan satu positif di atasnya (itulah sebabnya dipol)R
∥ xsaya- xHai∥
Model ini hanya memperhitungkan beberapa peristiwa hamburan, tapi itu cukup baik untuk kulit. Namun harus diperhatikan bahwa untuk beberapa bahan tembus cahaya (misalnya asap dan marmer) hamburan tunggal merupakan hal yang mendasar. Makalah itu mengusulkan formulasi hamburan tunggal, tetapi mahal.
Profil difusi biasanya diperkirakan untuk aplikasi waktu-nyata sebagai serangkaian gaussian blurs (seperti dalam karya mani D'Eon et al. Dalam GPU Permata 3 kemudian digunakan untuk SSSSS Jimenez) sehingga membuatnya praktis untuk skenario waktu nyata . Dalam makalah yang luar biasa ini ada detail tentang perkiraan seperti itu. Sebuah gambar dari makalah itu menunjukkan seberapa bagus formulasi ini:
Sebagai catatan samping perkiraan dipol mengasumsikan bahwa bahan tersebut semi-tak terbatas, namun asumsi ini tidak berlaku dengan lempengan tipis dan bahan berlapis-lapis seperti kulit. Membangun kerja dipol, Donner dan Jensen [2005] mengusulkan pendekatan multi-kutub yang menjelaskan masalah dipol. Dengan model ini alih-alih dipol tunggal, penulis menggunakan satu set dari mereka untuk menggambarkan fenomena hamburan. Dalam formulasi seperti itu profil reflektansi dan transmitansi dapat diperoleh dengan merangkum kontribusi dari berbagai dipol yang terlibat
EDIT: Saya memberikan jawaban untuk beberapa pertanyaan @NathanReed di sini di bagian komentar:
Bahkan dengan perkiraan profil difusi, model BSSRDF masih membutuhkan pengintegrasian pada radius titik terdekat pada permukaan untuk mengumpulkan cahaya yang masuk, benar? Bagaimana hal itu dicapai, katakanlah, sebuah pelacak jalur? Apakah Anda harus membangun beberapa struktur data sehingga Anda dapat mengambil sampel titik pada permukaan di dekat titik tertentu?
Perkiraan BSSRDF masih perlu diintegrasikan pada area tertentu, ya.
Dalam makalah terkait mereka menggunakan Montecarlo ray-tracer secara acak pengambilan sampel di sekitar titik dengan kepadatan didefinisikan sebagai:
σt re- σt rd
Di mana nilai sigma adalah koefisien kepunahan efektif yang didefinisikan di bawah ini (tergantung pada koefisien hamburan dan penyerapan, yang merupakan sifat material) dan d adalah jarak ke titik yang kami evaluasi. Kepadatan ini didefinisikan dengan cara ini karena istilah difusi memiliki penurunan eksponensial.
Dalam [Jensen dan Buhler 2002] mereka mengusulkan teknik akselerasi. Salah satu konsep utama adalah memisahkan sampel dari evaluasi istilah difusi. Dengan cara ini mereka melakukan evaluasi hirarkis dari informasi yang dihitung selama fase pengambilan sampel untuk mengelompokkan bersama sampel yang jauh ketika datang untuk mengevaluasi difusi. Implementasi yang dijelaskan dalam makalah ini menggunakan struktur octree. Teknik ini, menurut makalah, adalah urutan besarnya lebih cepat daripada integrasi penuh Monte Carlo.
Sayangnya saya tidak pernah mendapatkan implementasi off-line, jadi saya tidak bisa membantu lebih dari ini.
Dalam perkiraan penjumlahan Gaussians waktu-nyata, jari-jari yang benar secara implisit diatur ketika mendefinisikan varian dari kabur Gaussian yang perlu diterapkan.
Mengapa satu cahaya positif dan satu negatif? Apakah tujuan mereka membatalkan satu sama lain?
2 A D
Fdr
EDIT2: Saya telah memperluas (sedikit) beberapa konsep dalam jawaban ini dalam sebuah posting blog: http://bit.ly/1Q82rqT
Bagi mereka yang tidak takut dengan banyak huruf yunani dalam sebuah rumus, inilah kutipan dari tesis saya di mana profil pantulan dijelaskan secara singkat dalam setiap istilah: