Saya pernah mendengar bahwa kualitas pelacak monte carlo ray (berdasarkan algoritma penelusuran jalur) jauh lebih realistis daripada mesin terdistribusi (stokastik). Saya mencoba memahami alasannya, tetapi saya baru saja mulai.
Untuk menyelami topik ini dan memahami dasar-dasarnya, dapatkah seseorang mengarahkan saya ke arah yang benar? Bagian mana dari algoritma yang mengarah ke hasil render yang lebih realistis?
raytracing
algorithm
monte-carlo
p2atau
sumber
sumber
Jawaban:
Istilah "berkas ray tracing" pada awalnya diciptakan oleh Robert Cook dalam makalah 1984 ini. Pengamatannya adalah bahwa untuk melakukan anti-aliasing dalam pelacak sinar, pemberi render perlu melakukan upampling spasial - yaitu, untuk mengambil lebih banyak sampel (yaitu menembak lebih banyak sinar) daripada jumlah piksel dalam gambar dan menggabungkan hasilnya . Salah satu cara untuk melakukan ini adalah dengan memotret banyak sinar dalam pixel dan rata-rata nilai warnanya, misalnya. Namun, jika penyaji sudah melacak beberapa sinar per piksel untuk mendapatkan gambar anti-alias, maka sinar ini juga dapat "didistribusikan" di antara dimensi tambahan daripada hanya posisi piksel untuk efek sampel yang tidak dapat ditangkap oleh satu sinar. . Yang penting adalah bahwa ini datang tanpa biaya tambahan di atas penataan ruang, karena Anda sudah melacak sinar tambahan itu. Sebagai contoh,
Monte Carlo ray tracing adalah istilah yang sedikit ambigu. Dalam kebanyakan kasus, ini mengacu pada teknik rendering yang memecahkan persamaan rendering, diperkenalkan oleh Jim Kajiya pada tahun 1986, menggunakan integrasi Monte Carlo. Secara praktis semua teknik rendering modern yang memecahkan persamaan rendering, seperti penelusuran jalur, penelusuran jalur dua arah, pemetaan foton progresif dan VCM, dapat diklasifikasikan sebagai teknik penelusuran sinar Monte Carlo. Gagasan integrasi Monte Carlo adalah bahwa kita dapat menghitung integral dari fungsi apa pun dengan secara acak memilih poin dalam domain integrasi dan rata-rata nilai fungsi pada titik-titik ini. Pada tingkat tinggi, dalam penelusuran sinar Monte Carlo kita dapat menggunakan teknik ini untuk mengintegrasikan jumlah cahaya yang masuk ke kamera dalam piksel untuk menghitung nilai piksel. Misalnya, pelacak jalur melakukan ini dengan secara acak memilih titik di dalam piksel untuk menembakkan sinar pertama, dan kemudian terus secara acak memilih arah untuk melanjutkan di permukaan tempat ia mendarat, Dan seterusnya. Kita juga dapat secara acak memilih posisi pada sumbu waktu jika kita ingin melakukan gerakan blur, atau secara acak memilih titik pada aperture jika ingin melakukan kedalaman bidang, atau ...
Jika ini terdengar sangat mirip dengan penelusuran sinar terdistribusi, itu karena itu! Kita dapat menganggap ray tracing sebagai deskripsi yang sangat tidak resmi dari algoritma Monte Carlo yang mengambil sampel efek tertentu seperti bayangan lembut. Makalah Cook tidak memiliki kerangka matematika untuk benar-benar beralasan tentang hal itu dengan benar, tetapi Anda tentu bisa menerapkan penelusuran ray terdistribusi menggunakan renderer Monte Carlo sederhana. Patut dicatat bahwa penelusuran sinar terdistribusi tidak memiliki deskripsi efek penerangan global, yang secara alami dimodelkan dalam persamaan rendering (harus disebutkan bahwa makalah Kajiya diterbitkan dua tahun setelah makalah Cook).
Anda dapat menganggap pelacakan ray Monte Carlo sebagai versi yang lebih umum dari penelusuran ray terdistribusi. Monte Carlo ray tracing berisi kerangka matematika umum yang memungkinkan Anda untuk menangani hampir semua efek, termasuk yang disebutkan dalam kertas kalkir ray didistribusikan.
Saat ini, "berkas ray tracing" sebenarnya bukan istilah yang digunakan untuk merujuk pada algoritma asli. Lebih sering Anda akan mendengarnya bersamaan dengan "efek distribusi", yang merupakan efek sederhana seperti gerakan kabur, kedalaman bidang, atau bayangan lembut yang tidak dapat ditangani dengan raytracer sampel tunggal.
sumber
Dalam penelusuran sinar terdistribusi , Anda secara stokastik mencicipi banyak sinar ke arah yang mungkin atau mungkin tidak disukai oleh BRDF. Sedangkan, dalam pelacakan ray Monte Carlo atau sekadar penelusuran jalur, Anda hanya mencicipi satu ray dalam arah yang disukai oleh BRDF . Jadi, ada dua keuntungan yang jelas dimiliki Path Tracing:
Jadi, pelacakan jalur akan memberi Anda hasil yang lebih baik.
sumber