Apa "perkiraan dipol" untuk hamburan di bawah permukaan?


18

Jika Anda membaca makalah tentang hamburan di bawah permukaan, Anda akan sering menemukan referensi untuk sesuatu yang disebut "perkiraan dipol". Istilah ini tampaknya kembali ke kertas Model Praktis untuk Transportasi Ringan Bawah Permukaan oleh Henrik Wann Jensen et al, tetapi makalah ini cukup sulit untuk dipahami.

Adakah yang bisa menjelaskan secara relatif sederhana apa perkiraan dipol itu dan bagaimana itu digunakan dalam rendering hamburan bawah permukaan?


1
Ini memang kertas yang rumit (masih memberi saya mimpi buruk dari waktu ke waktu!) Tapi saya mencoba menyederhanakan semuanya sedikit. Biarkan saya tahu jika Anda berpikir jawaban di bawah ini harus disesuaikan dengan cara lain :)
cifz

Jawaban:


23

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:

masukkan deskripsi gambar di sini

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

masukkan deskripsi gambar di sini

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:

masukkan deskripsi gambar di sini

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:

σtre-σtrd

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?

2SEBUAHD

masukkan deskripsi gambar di sini

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:

masukkan deskripsi gambar di sini


Terima kasih! Saya masih bertanya-tanya beberapa hal. (1) Bahkan dengan perkiraan profil difusi, model BSSRDF masih membutuhkan pengintegrasian pada radius titik terdekat di 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? Dan (2) Mengapa satu cahaya positif dan satu negatif? Apakah tujuan mereka membatalkan satu sama lain?
Nathan Reed

1) Memang, apa yang mereka usulkan di kertas dengan pelacak monte carlo ray mereka adalah pengambilan sampel stokastik dengan kepadatan spesifik berdasarkan jarak dan koefisien kepunahan. Saya kira Anda dapat melempar-dart untuk menemukan sampel dan menggunakan probabilitas penerimaan yang tepat berdasarkan pada koefisien kepunahan. dan jarak. (1/2)
cifz

Saya tahu bahwa Jensen menerbitkan pendekatan integrasi hierarkis pada tahun 2002 yang sayangnya saya baru saja membaca sekali dan beberapa waktu yang lalu, jadi saya hanya mengingat beberapa bit. Konsep inti adalah untuk memisahkan sampel dari pendekatan difusi dan sampel cluster jauh. IIRC mereka menggunakan octree sebagai struktur hierarkis. Saya tidak pernah mendapatkan implementasi offline jadi saya tidak begitu banyak membantu detail lainnya tentang hal ini saya khawatir. (2/2)
cifz

2) Dengan cara ini untuk memenuhi beberapa kondisi batas, Anda ingin membiarkan fluence menjadi nol pada batas ekstrapolasi tertentu yang memiliki jarak tertentu dari medium. Jarak ini dihitung berdasarkan koefisien hamburan dan hamburan albedo.
cifz

@NathanReed Beri tahu saya jika ini telah mengklarifikasi sesuatu, kalau tidak saya dapat mencoba dan memperluas pemikiran dalam komentar ini dalam jawaban itu sendiri
cifz

3

Untuk dengan mudah memahami 'teori dipol' kita harus terlebih dahulu memahami dari mana ia berasal dari 'teori difusi'.

Dan itu berasal dari simulasi transportasi ringan di media yang berpartisipasi dengan memecahkan persamaan transportasi cahaya (RTE).

Perkiraan difusi klasik memecahkan RTE dengan hanya mempertimbangkan ekspansi harmonik bola orde pertama dari cahaya. Jika kita mengasumsikan lebih lanjut bahwa fungsi sumber adalah sumber daya unit titik isotropik daya dalam media homogen tak terbatas kita sampai pada difusi klasik fungsi Green (monopole).

Ketika memberikan bahan yang tembus cahaya, akan lebih mudah untuk merumuskan kembali masalah ini dalam analogi dengan integral refleksi permukaan lokal. Ini menghasilkan persamaan integral yang menghitung pancaran keluar, Lo, pada posisi dan arah sebagai konvolusi iluminasi insiden, Li, dan BSSRDF, S, atas semua posisi dan arah kejadian.

Sekarang dengan fungsi difusi Green, kami tidak memperhitungkan kondisi batas yang dikenakan oleh permukaan material. Kondisi-kondisi ini dapat dengan mudah ditangani dengan menempatkan sumber negatif cermin di luar medium untuk setiap sumber positif di dalam medium sedemikian sehingga fluens memusatkan perhatian pada jarak ekstrapolasi di atas permukaan. Ini adalah perkiraan dipol.

Jadi tanpa syarat batas, fluence kita diekspresikan secara volumetrik dalam medium. Untuk membuat hamburan bawah permukaan kita harus menghitung cahaya meninggalkan berbagai titik di permukaan. Agar hal ini terjadi, kita harus menghitung profil difusi karena dipol sehingga untuk mengevaluasi turunan terarah dari fluence ke arah permukaan normal.

Kemajuan terbaru pada BSSRDF datang dari pergeseran volumetrik awal dan pendekatan media yang berpartisipasi dengan hal-hal ad-hoc yang lebih baik mempertimbangkan kondisi batas permukaan akun.

Adapun ..

Model BSSRDF masih membutuhkan pengintegrasian pada radius titik terdekat di permukaan untuk mengumpulkan cahaya yang masuk ..?

Ya, kami mengintegrasikan insiden cahaya togheter dengan BSSRDF atas semua posisi dan arah kejadian.

Sekarang kita dapat mengadopsi metode brute force di sini atau pendekatan melempar panah dengan rouletting Rusia. Namun keduanya merupakan pendekatan naif.

SSS mulai diproduksi (Pixar Renderman) ketika metode aproksimasi telah dikembangkan untuk menggunakan pengumpulan cahaya hierarkis menggunakan struktur data octree tempat memanggang pencahayaan difus agar tersedia dalam kelompok untuk perhitungan SSS. Dengan Renderman, ini adalah pendekatan alami karena REYES sehingga setiap mikropoligon yang dihasilkan dari REYES dapat dengan mudah 'dicipratkan' ke dalam suatu titik dan dimasukkan ke dalam sebuah oktaf.

Gelombang kedua perbaikan bergantung pada sampel berbasis kepentingan berbasis disk (Arnold) yang sekarang menjadi pendekatan de-facto untuk banyak implementasi SSS di luar sana. Secara umum kami mendefinisikan volume pencarian (bola), mendistribusikan sampel pada disk di atas permukaan dan menyelidiki sepanjang arah normal dan arah ortogonal untuk menemukan semua hit di dalam volume.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.