Radiositas VS Ray tracing

12

Radiositas pada dasarnya memungkinkan: Iluminasi Langsung VS Radiositas

Dalam tutorial dari Cornell University tentang Radiosity disebutkan bahwa:

Versi gambar yang dilacak dengan sinar hanya menunjukkan cahaya yang mencapai pemirsa melalui refleksi langsung - karenanya melewatkan efek warna.

Namun di Wikipedia :

Radiositas adalah algoritma penerangan global dalam arti bahwa iluminasi yang tiba di permukaan tidak hanya datang langsung dari sumber cahaya, tetapi juga dari permukaan lain yang memantulkan cahaya.

...

The Metode radiositas dalam komputer grafis konteks atau diperoleh saat ini dari (dan pada dasarnya sama dengan) metode radiositas dalam transfer panas.

Dan jika ray tracing mampu:

mensimulasikan berbagai efek optik, seperti refleksi (refleksi difus ) dan hamburan (yaitu defleksi sinar dari jalur lurus, misalnya dengan penyimpangan dalam media propagasi, partikel, atau dalam antarmuka antara dua media)

Apakah tutorial itu tidak mempertimbangkan efek ini atau apakah ada metode radiositas yang dapat digunakan dalam penelusuran sinar untuk mengaktifkannya?

Jika tidak, tidak bisakah efek optik ini mensimulasikan radiositas sepenuhnya atau apakah algoritma radiositas lebih efisien dalam menyelesaikan masalah refleksi difus?

Lengan
sumber

Jawaban:

13

Radiositas tidak memperhitungkan refleksi specular (yaitu hanya menangani refleksi difus). Pelacakan ray Whitted hanya menganggap refleksi mengkilap atau difus, mungkin pantulan cermin. Dan akhirnya, penelusuran jalur Kajiya adalah yang paling umum [2], menangani sejumlah refleksi difus, glossy, dan specular.

Jadi saya pikir itu tergantung pada apa yang Anda maksud dengan "ray-tracing": teknik yang dikembangkan oleh Whitted atau segala jenis "tracing rays" ...

Catatan: Heckbert [1] (atau Shirley?) Menyusun klasifikasi peristiwa hamburan cahaya yang terjadi ketika cahaya bergerak dari luminer ke mata. Secara umum memiliki bentuk sebagai berikut:

L(S|D)*E

"L" adalah singkatan dari luminer, "D" untuk refleksi difus, "S" untuk refleksi atau pembiasan specular, "E" untuk mata, dan simbol "*", "|", "(" ")", "datang" dari notasi ekspresi reguler dan menyatakan masing-masing "nol atau lebih", "atau", "pengelompokan", "salah satu". Veach [3] memperluas notasi dalam disertasinya yang terkenal dengan "D" untuk Lambertian, "S" untuk specular dan "G" untuk refleksi mengkilap, dan "T" untuk transmisi.

Secara khusus, teknik-teknik berikut diklasifikasikan sebagai:

  • Shading OpenGL: EDL

  • Ray-casting Appel: E(D|G)L

  • Pelacakan ray Whitted: E[S*](D|G)L

  • Path-tracing Kajiya: E[(D|G|S)+(D|G)]L

  • Radiositas golar: ED*L

[1] Paul S. Heckbert. Tekstur radiositas adaptif untuk penelusuran sinar dua arah. SIGGRAPH Grafik Komputer, Volume 24, Nomor 4, Agustus 1990

[2] Kursus Siggraph 2001 "Keadaan Seni di Monte Carlo Ray Tracing untuk Sintesis Gambar Realistis" mengatakan yang berikut: "Penelusuran ray dan penelusuran jalur terdistribusi mencakup beberapa pantulan yang melibatkan hamburan non-specular seperti E(D|G)*L. Namun, bahkan metode ini mengabaikan jalur bentuk E(D|G)S*L; yaitu, beberapa specular memantul dari sumber cahaya seperti pada kaustik. "

[3] Eric Veach. Metode Monte Carlo yang Kokoh untuk Simulasi Transportasi Ringan. Ph.D. disertasi, Universitas Stanford, Desember 1997

Ecir Hana
sumber
Notasi untuk pelacakan jalur menunjukkan bahwa itu tidak dapat menangani jalur seperti ES*Ltapi tentu saja bisa jika mereka adalah lampu area (bukan lampu tepat waktu). Selain itu, saya pikir pernyataan dalam referensi Anda [2] itu benar-benar salah. Penelusuran jalur tidak mengabaikan kaustik; itu tidak terlalu efisien pada mereka (pemetaan foton, Metropolis, VCM dll lebih baik).
Nathan Reed
Terima kasih Ecir untuk penjelasannya (khususnya regex ... Saya ingin tahu apakah mereka pernah mempertimbangkan E {2} untuk kedua mata;). Ketika saya menyebutkan "ray tracing", saya mengutip tutorial dari Cornell University, mereka tidak menyebutkan teknik spesifik, itu sebabnya saya ragu apakah radiositas adalah tipe atau sebagian milik ray tracing. Jadi jika Anda ingin membuat refleksi difus, apakah Anda akan memilih lintasan jejak di atas radiositas? Mengapa (mana yang lebih efisien)?
Armfoot
1
@NathanReed Saya bertanya tentang hal itu di ompf2 dan cerdik mengatakan: "Satu-satunya jenis jalur cahaya yang tidak dapat dicoba oleh pelacak jalur maju adalah E (D | G) * S + L, di mana L adalah sumber cahaya yang definisinya melibatkan distribusi delta , baik dalam emisi directional atau posisional. Contohnya adalah lampu titik dan lampu arah. Jalur tersebut dapat dijelaskan menggunakan notasi Veach yang diperluas untuk luminer dan sensor, lihat bagian 8.3.2 dalam tesisnya. "
Ecir Hana
@ Kaki saya pasti akan pergi dengan menelusuri jalur. Banyak penelitian, buku, kode untuk belajar. Saya tidak tahu mana yang lebih cepat, terlalu banyak variabel (struktur percepatan, sistem peneduh, ...). Radiosity tampaknya mensimulasikan perambatan panas setelah memecah adegan menjadi banyak segitiga kecil ( FEM ), saya tidak pernah mencobanya dan satu-satunya produk untuk menggunakannya adalah Autodesk Lightscape. Last but not least, apakah Anda benar-benar yakin bahwa Anda hanya perlu refleksi yang difus?
Ecir Hana
1
@Armfoot Notasi tidak menggunakan E {2} untuk alasan yang sama bahwa notasi itu tidak menggunakan L {n} untuk beberapa lampu. Ini menggambarkan satu jalur, atau satu sampel. Cara kita biasanya memformalkan rendering Monte Carlo adalah dengan mengambil persamaan rendering Kajiya, dan kemudian mengubahnya menjadi variabel acak, nilai yang diharapkan di antaranya adalah solusi untuk persamaan tersebut. Anda kemudian dapat menghitung nilai piksel dengan mengambil banyak sampel dan memperkirakan rata-rata. Jalur cahaya kurang lebih sesuai dengan diagram Feynman.
Nama samaran