Ray Tracing with Cones: cakupan, tumpang tindih dan berbatasan segitiga

10

Dalam makalah klasiknya Ray Tracing dengan Cones , John Amanatides menjelaskan variasi tentang tracing ray klasik. Dengan memperluas konsep sinar dengan sudut aperture , menjadikannya kerucut, efek aliasing (termasuk yang berasal dari terlalu sedikit sampel Monte Carlo) dapat dikurangi.

Selama persimpangan segitiga-kerucut, nilai cakupan skalar dihitung. Nilai ini mewakili fraksi kerucut yang ditutupi oleh segitiga. Jika kurang dari , artinya segitiga tidak sepenuhnya menutupi kerucut. Tes lebih lanjut diperlukan. Tanpa menggunakan teknik yang lebih maju, kita hanya tahu berapa banyak kerucut yang tercakup, tetapi tidak pada bagian mana.1

Amanatides menyatakan:

Karena saat ini hanya nilai cakupan fraksional yang digunakan dalam pencampuran kontribusi dari berbagai objek, permukaan yang tumpang tindih akan dihitung dengan benar tetapi permukaan berbatasan tidak akan.

Ini tidak masuk akal bagi saya. Dari sudut pandang saya itu adalah sebaliknya. Mari kita ambil contoh: Kami memiliki dua segitiga bertepi , satu hijau dan biru, yang masing-masing mencakup tepat 50% dari kerucut kami. Mereka berada pada jarak yang sama dari penonton.

Segitiga hijau dan biru

Segitiga hijau diuji terlebih dahulu. Ia memiliki nilai cakupan 0,5, sehingga segitiga biru diuji selanjutnya. Dengan nilai pertanggungan biru 0,5, kerucut kami sepenuhnya tertutup, jadi kami selesai dan berakhir dengan campuran 50:50 hijau-biru. Bagus!

Sekarang bayangkan kita membunuh segitiga biru dan menambahkan yang merah agak jauh di belakang yang hijau - tumpang tindih . Greeny memberi kita nilai pertanggungan 0,5 lagi. Karena kita tidak memiliki yang biru untuk diuji lagi, kita melihat lebih jauh ke bawah kerucut dan segera menemukan yang merah. Ini juga mengembalikan beberapa nilai cakupan lebih besar dari 0, yang seharusnya tidak karena berada di belakang yang hijau.

Jadi, dari sini saya menyimpulkan bahwa segitiga berbatasan berfungsi dengan baik, sementara segitiga yang tumpang tindih akan membutuhkan beberapa sihir seperti masker penutup untuk menjadi benar. Ini kebalikan dari apa yang dikatakan Amanatides. Apakah saya salah mengerti sesuatu atau ini tergelincir di koran?

David Kuri
sumber

Jawaban:

3

Saya benar-benar menerapkan pelacak sinar berdasarkan pada pekerjaan Amantides tetapi, seperti yang terjadi bertahun-tahun yang lalu, ingatan saya tentang kertas itu sedikit berkarat.

Namun, mengabaikan kasus khusus ini, secara umum ketika datang untuk bekerja dengan cakupan fraksional misalnya pengomposisian Alpha, (lihat "A di atas B" ) pemahaman saya adalah bahwa asumsi yang umum adalah bahwa barang yang dikomposisikan tidak berkorelasi.

Jadi jika A dengan cakupan X% berada di atas B dengan cakupan Y% dan C di latar belakang, maka diasumsikan bahwa seseorang akan melihat
X% * ​​A + (100-X%) * Y% * B + (100-X %) (100-Y%) * C

Apakah itu masuk akal? Jelas ini akan memberikan "kebocoran" dalam kasus di mana A dan B sangat berkorelasi.

Saya pikir saya mungkin telah meletakkan sedikit topeng pada sinar untuk menghindari masalah ini, tapi itu sudah lama sekali.

Simon F
sumber
Dengan penjelasan itu sangat masuk akal, terima kasih! Jika Anda ingat, bagaimana pengalaman Anda dengan penelusuran kerucut dibandingkan dengan penelusuran sinar normal? Tentu saja ini perkiraan, tetapi apakah itu mencapai kecepatan yang cukup pada kualitas yang dapat diterima?
David Kuri
Oh, astaga, sudah lama sekali. Sebenarnya, saya hanya menerapkan pelacakan kerucut. Apakah saya benar-benar mencoba mematikan bagian jari-jari saya tidak dapat mengingatnya, tetapi, jika saya punya waktu, saya akan mencoba mengingat pro dan kontra dari menuruni rute kerucut.
Simon F