NW_24

Long Life Education

03 May 2018

Bidang Visibilitas untuk Ray Tracing


Bidang Visibilitas untuk Ray Tracing



Jesper Mortensen 1  Pankaj Khanna 1   Insu Yu 1  Mel Slater 1,2
1 Departemen Ilmu Komputer, Universitas College London, London, Inggris 2 ICREA-Universitat Politecnica` de Catalunya, Departemen de LSI, Barcelona, Spanyol j.mortensen | p.khanna | i.yu | m.slater @ cs.ucl.ac.uk

Abstrak

Makalah ini menyajikan jenis struktur data visibilitas untuk pelacakan sinar dipercepat. Bidang visibilitas dibangun dengan memilih subdivisi titik reguler di atas belahan bumi untuk mendapatkan satu set arah. Sesuai dengan arah masing-masing ada kemudian kotak persegi panjang balok paralel, dengan masing-masing balok referensi satu set pengidentifikasi yang sesuai dengan ob-jects yang memotongnya. Objek yang tergeletak di sepanjang balok diurutkan menggunakan BSP 1D sepanjang arah sinar. Sinar yang sesuai dengan sinar apapun dapat dilihat dalam waktu konstan yang kecil dan set objek yang sesuai dengan sinar dapat dicari untuk persimpangan dengan sinar menggunakan strategi traversal yang dioptimalkan.Pendekatan ini berdagang dari rendering speed untuk penggunaan memori dan waktu pre-processing. Struktur data juga sangat cocok untuk tugas-tugas integrasi belahan bumi karena sifatnya yang bulat dan hasil untuk satu tugas tersebut - Ambient Occlusion - juga disajikan. Hasil-hasil untuk berbagai adegan dengan berbagai metode penyajian disajikan dan dibandingkan dengan pendekatan yang mapan, pendekatan Ray Coherent Ray Tracing tunggal dari Wald dan Slusallek et al.

Pengidentifikasi objek. Struktur data adalah contoh khusus dari 'bidang cahaya virtual' (VLF) [34], yang kami sebut VLF-RT dalam makalah ini. Sebuah sinar digunakan sebagai array mencari indeks ke dalam struktur data VLF-RT, dan segera memberikan satu set objek kandidat untuk pengujian persimpangan objek-ray. Seperangkat objek, sebagian kecil dari nomor asli dalam adegan, dapat dilalui secara linier atau dengan metode lain.

Kami membahas latar belakang literatur dan state-of-the art di Bagian 2. Struktur data VLF-RT untuk penelusuran sinar disajikan dalam Bagian 3. Dalam Bagian 4 kami memotivasi dan menggambarkan penggunaan partisi kedalaman seragam untuk fi-nal traversal dari seperangkat potensial yang terlihat (PVS) kembali dari pencarian sinar ke VLF-RT. Implementasi de-ekor diberikan dalam Bagian 5. Hasil dalam bentuk com-parisons antara Coherent Ray Tracing (CRT) [37, 36] dan metode VLF-RT disajikan dalam Bagian 6. Bagian 7 menyajikan aplikasi untuk Oklusi Ambient dan kesimpulan dalam Bagian 8, termasuk diskusi tentang bagaimana perubahan adegan dinamis sangat sederhana dalam metode ini. Dalam makalah ini kami hanya berkonsentrasi pada pelacakan sinar 'klasik' seperti yang dijelaskan oleh Whitted [42]. Untuk kompatibilitas dengan CRT, semua contoh kami terbatas pada poligon, dan dalam hasil utama kami, segitiga. Namun, metode ini tidak terikat pada benda poligonal.


1. Pendahuluan

Ada kemajuan signifikan terhadap pelacakan sinar real-time dalam beberapa tahun terakhir, melalui eksploitasi algo-rithms yang dibuat khusus untuk berkinerja baik pada hardware grafik-ics saat ini [28, 6, 39, 29]. Setiap algoritma pelacakan sinar harus berurusan dengan masalah ray-object traversal - yaitu, untuk menemukan sinar pada permukaan terdekat yang bersinggungan, dan masalah ini telah menerima banyak perhatian sejak diperkenalkannya ray tracing ke dalam grafik komputer [2, 42]. Semua metode yang sukses bergantung pada struktur data yang ketika dilalui oleh sinar, menghasilkan sekumpulan objek, pasangan calon, atau perangkat yang dapat dilihat secara potensial, sehingga sinar dapat berpotongan. Dalam tulisan ini kami menyajikan modifikasi dari pendekatan standar ini. Kami mengeksploitasi struktur data 4-dimensi, yang mirip dengan medan cahaya yang bukannya menyimpan toko pancaran

2. Latar belakang

Ray tracing adalah tipe pertama iluminasi global yang diperkenalkan ke komputer grafik [42]. Ini sangat sim-ply dan elegan mendukung bayangan, refleksi dan transmisi spekulatif, dan juga memecahkan masalah visibilitas. Ini tidak benar menangani jalur cahaya yang melibatkan pantulan buram atau mengkilap, dan ini tidak akan dipertimbangkan dalam makalah ini. Manfaat keseluruhan dari pelacakan sinar telah dibahas berkali-kali, misalnya [13] untuk gambaran umum dan algoritma standar, dan [37] untuk manfaat potensial dibandingkan dengan pipa grafis standar. Dalam makalah asli, Whitted menunjukkan bahwa waktu yang sangat banyak untuk menghasilkan gambar yang ditelusuri sinar diambil oleh kalkulasi objek sinar-ray. Banyak teknik telah dikembangkan untuk mencoba mengurangi waktu ini. Ini dapat diklasifikasikan menjadi

Subdivisi objek-ruang dan pembagian ruang meteor-ray. Yang pertama membangun subdivisi ruang adegan, sehingga setiap sel dalam subdivisi merujuk ke sekumpulan objek yang relatif kecil, dan ray traversal melalui subdivisi ini relatif sederhana dan cepat. Untuk setiap sinar yang diberikan, objek ma-joran yang luas tidak pernah diuji untuk persimpangan - hanya yang diambil oleh skema ray traversal yang dianggap sebagai kandidat untuk persimpangan. Contoh dari metode ini termasuk boundary extent hierarchies [22, 14], metode pembagian ruang langsung - seperti ruang seragam subdivi-sion [11, 1, 8], oc-trees [12], dan BSP trees [21, 20, 35 ]. Itu diperdebatkan dalam [35] bahwa dari ini skema pembagian subdivisi BSP di traversal sinar tercepat, dengan waktu logaritmik dalam jumlah poligon. Skema klasifikasi Ray di sisi lain memanfaatkan koherensi di antara sinar. Salah satu contoh dari ini adalah buffer cahaya [16] yang secara efisien menghitung penyimpangan untuk sinar 'peraba bayangan'. Namun, pendekatan klasifikasi sinar umum yang diterapkan pada seluruh proses pelacakan sinar diberikan oleh [3]. Sinar direpresentasikan sebagai titik di ruang 5D dan 32-pohon ruang sinar dibangun dengan malas karena setiap sinar berturut-turut ditemukan (sebenarnya enam 32-pohon masing-masing mewakili salah satu dari enam wajah kotak berlari di sekitar tempat kejadian). Setiap sel dari 32-pohon mewakili satu set sinar yang sama, dan sesuai dengan masing-masing sel adalah satu set objek yang dapat didelegasikan. Setiap objek dalam set kandidat sedemikian rupa sehingga setidaknya satu dari sinar di sel memotongnya. Dengan kata lain, sel 32 pohon sesuai dengan sinar dalam ruang 3D yang memotong sekumpulan objek - kandidat yang ditetapkan untuk sel. Ukuran pohon tergantung pada ukuran maxi-mum yang diizinkan dari kumpulan objek kandidat. Sekarang diberi sinar baru, itu disaring ke pohon, calonnya ditetapkan diidentifikasi, dan persimpangan dilakukan dengan ini. Skema klasifikasi sinar juga dapat ditingkatkan dengan menggunakan metode subdivisi adaptif [32]. Variasi lain pada pendekatan ini disajikan dalam [25] yang menghilangkan salah satu dimensi ruang sinar dengan menggunakan koherensi sinar. Karena banyak sinar dapat terletak pada garis yang sama, duplikasi sinar dikurangi dengan mengklasifikasikan garis bukan sinar. Variasi ini menggunakan pohon pencarian biner untuk menemukan persimpangan dengan daftar objek candi. Algoritma VLF-RT yang disajikan dalam makalah ini dapat dianggap sebagai representasi yang jauh lebih efisien dari ide yang sama - karena dalam hal ini sinar yang sama juga dikelompokkan bersama-sama dan masing-masing kelompok sinar tersebut memiliki satu set objek candi. Namun, struktur datanya jauh lebih sederhana daripada 32 pohon, dan pengambilan hasil kumpulan-sinar lebih dicari daripada penelusuran pohon. Dalam masing-masing dua kategori besar ini ada banyak proposal untuk peningkatan lebih lanjut dan substansial dalam kecepatan traversal ray-object. Sebagai contoh, membangun gagasan representasi BSP Havran [19, 18] memperkenalkan pohon tali untuk mempercepat pohon ray-BSP traversal, dan dalam [30] biaya traversal BSP dikurangi dengan menghitung titik masuk pohon BSP untuk pengumpulan tions of rays. Selain itu, skema caching telah diperkenalkan. Dipotong untuk menggunakan kembali elemen solusi di beberapa pandangan, mengeksploitasi semacam koherensi ray-view [41, 40].

Dengan pengenalan perangkat keras grafis yang dapat diprogram menggantikan fungsi pipa tetap dan pertumbuhan pesat kinerja perangkat keras grafis sejumlah upaya telah dilakukan untuk memetakan ray tracing ke unit pemrosesan grafik (GPU) [29, 6]. Segmen segitiga-ray mentah pada GPU telah terbukti mengungguli implementasi CPU. Namun demikian, struktur data pembagian ruang kd-tree memetakan secara buruk ke arsitektur streaming dan mengharuskan penggunaan grid seragam; struktur akselerasi suboptimal. Upaya telah dilakukan untuk memetakan struktur data kd-tree ke GPU [10], tetapi sejauh ini algoritma pelacakan sinar CPU bekerja lebih baik daripada rekan-rekan GPU.

Kemajuan dalam kekuatan prosesor dan bandwidth jaringan telah mendukung kecepatan besar dalam pelacakan sinar sehingga hari ini adalah mungkin untuk mencapai kecepatan interaktif untuk jutaan poligon pada kelompok PC konsumen [39].Pencarian ulang ini mengandalkan skema pembagian ruang untuk solusi persimpangan cepat, khususnya pohon BSP, bersama-sama dengan organisasi yang tepat dari keseluruhan algoritma agar sesuai dengan kebutuhan perangkat keras, dan implementasi paralel atas PC clus-ters [38, 4] ]. Bukti sampai saat ini menunjukkan bahwa satu skema pada khususnya; koheren ray tracing (CRT) [37] adalah implementasi tercepat dari ray tracing. Ini menggunakan sub divisi ruang pohon BSP.Pelaksanaannya diatur sedemikian rupa sehingga sebagian besar akses memori masuk ke dalam dua cache prosesor pertama, yang dengan sendirinya menghasilkan percepatan hingga setengah urutan mag-nitude seperti yang dilaporkan dalam makalah asli. Selain itu, paket dari 4 sinar SIMD dilacak secara paralel. Kami juga telah menerapkan skema CRT sinar tunggal, dan dengan hasil inilah kami membandingkan pendekatan baru kami dalam Bagian 6 dan 7.

3. Bidang Visibilitas untuk Ray Tracing

Pada bagian berikut ini kami membahas struktur data, konstruksinya dan bagaimana melakukan kueri terhadapnya.

3.1. Struktur data

Struktur data lapangan cahaya virtual awalnya di-spired oleh bidang cahaya [27, 15] dan jenis representasi yang digunakan mirip dengan yang di [5] dan juga untuk struktur data yang digunakan untuk visibilitas culling di [7] . Sedangkan medan cahaya hanya-ketik hanya menyimpan cahaya di persimpangan pertama dari sinar dengan objek, Layered Depth Images [31] menjaga informasi radi-ance tentang masing-masing permukaan yang sinar antar-sekte bukan hanya permukaan pertama, dan di itu merasakan struktur data juga mirip dengan LDI. Struktur data VLF umum untuk pandangan solusi penerangan global independen telah digunakan sebelumnya di mana informasi pancaran

Disimpan [34]. Namun, di VLF-RT kami tidak pernah menyimpan rasie, hanya pengidentifikasi objek (sebenarnya poligon). The VLF-RT dengan demikian menggunakan modifikasi struktur data VLF sebagai awalnya diperkenalkan tetapi berorientasi pada ray tracing, dan karena itu solusinya adalah pandangan-tergantung. Ini juga membutuhkan urutan memori kurang besar.

Kami sekarang menjelaskan VLF-RT. Adegan dapat dikurung , misalnya, oleh kubus biasa. Anggaplah ini adalah sebuah kubus terikat oleh (−1, −1, −1) ke (1, 1, 1). Pertimbangkan wajah bawah (z = −1) dibatasi oleh (−1, −1, −1) dan (1, 1, −1). Ini dibagi lagi menjadi n x n ubin persegi. Setiap ubin adalah dasar dari paralel balok t sumbu z yang memanjang tanpa batas (meskipun hanya bagian terbatas yang memotong adegan itu menarik). Set balok n n n paralel ini sepanjang sumbu-z disebut sebagai sub-paralel paralel kanonik (PSF). Jika saya menunjuk dengan koordinat spher-ical ω i = (θ i , φ i ) dipilih pada unit hemi-sphere, maka PSFs didefinisikan sebagai rotasi dari PSF kanonik dengan memutar arah (0, 0, 1) ke dalam titik bulat yang sesuai. Rotasi dapat dicapai dengan cara apa pun yang konsisten di seluruh. Lihat semua berkas dalam PSF kanonis. Ini akan memotong sejumlah permukaan di TKP. Ubin yang sesuai dengan balok itu menyimpan kumpulan pengidentifikasi permukaan ini. Proses menemukan semua permukaan permukaan dengan ubin PSF kanonik sangatlah mudah. Jika kita mempertimbangkan kasus khusus bahwa semua permukaan adalah poligon, maka ini mirip dengan raster-isian polygon dan dapat diimplementasikan dengan sangat efisien karena efektif hanya untuk resolusi n × n. Diberikan PSF lainnya, sesuai dengan arah ω i seluruh adegan dapat dirotasi sedemikian rupa sehingga ω i ditransformasi menjadi berbaring (0, 0, 1) - sumbu z. Rasterisasi kemudian dilakukan di ruang kanonik. Ini sangat penting untuk memilih parameterisasi di atas belahan bumi sehingga tidak ada pencarian yang diperlukan untuk menemukan rujukan PSF terdekat ke arah sembarang - karena pencarian sinar tersebut merupakan operasi penting selama pelacakan sinar. Metode untuk menempatkan titik-titik di belahan bumi menggunakan pembagian rekursif tetrahedron reguler, yang memisahkan belahan menjadi segitiga. Pencarian waktu konstan yang cepat dicapai untuk setiap titik sembarang di belahan bumi untuk menemukan titik penyimpanan tertutup ke suatu titik tertentu di belahan bumi dengan metode yang dijelaskan dalam [33]. Set (terbatas) dari arah PSF ggi dilambangkan Ω l dan ω i  Ω l mengacu pada arah tertentu. Sistem koordinat ubin direferensikan oleh (s, t), di mana s, t = 0, 1,. . . , n - 1. Oleh karena itu, sebuah ubin direferensikan sebagai (ω i , s, t). Kumpulan pengidentifikasi yang terkait dengan til e dilambangkan dengan S (ω i , s, t).


3.2. Membangun Struktur Data

Penerapan struktur data ini untuk pelacakan sinar sangat mudah. Pertama struktur data seperti yang dibahas di atas dibangun. Untuk setiap P SF ω i scene ditransformasikan ke ruang kanonikal, dan setiap poligon adalah ortho-

Grafis diproyeksikan ke dasar PSF, dan ubin yang mencakup dihitung. Ini dapat dicapai dengan melintasi setiap tepi poligon melalui ubin untuk menghitung ubin dari semua tepi poligon, dan kemudian mengisi ubin non-tepi yang terletak di dalam poligon. Penting bahwa algoritma trailing tepi-tepi memungkinkan jalur 8-terhubung, daripada mengikuti algoritma gaya DDA tradisional. Perbedaannya ditunjukkan pada Gambar 1. Metode hms semacam ini dibahas dengan mengacu pada konteks 3D di [9] tetapi mudah disesuaikan dengan 2D. Ketika ubin (s, t) ditemukan ditutupi oleh

Sebuah   poligon, identifier poligonnya ditulis ke dalam S (ω i , s, t). Pada akhir proses ini untuk semua PSF struktur data sudah selesai.
 




Gambar 1. Menemukan ubin yang sesuai dengan tepi poligon - yang benar adalah ubin yang diarsir, algoritma DDA hanya akan menghasilkan ubin yang ditandai.

3.3. Interseksi Objek-Ray

Sekarang anggaplah bahwa semua pengidentifikasi poligon untuk semua ubin di semua PSF telah dihitung, dan bahwa kita memerlukan kumpulan objek yang dapat didelegasikan untuk sebuah sinar dengan arah ω dan asal (x, y, z).Temukan arah di Ω l yang paling dekat dengan ω dan anggaplah ini adalah ω j . Akan ada matriks rotasi M j pra-dihitung dan disimpan dengan P SF ω j yang memutar arah ω j ke (0, 0, 1). Kemudian (x, y, z) × M j = (x q , y q , z q ) akanmenjadi titik di ruang kanonik P SF ω j yang berkorelasi dengan (x, y, z) di dunia ruang. Khususnya projeksi (x q , y q , −1) akan menjadi milik ubin tertentu. Himpunan pengidentifikasi di ubin itu membentuk satu set yang berpotensi terlihat untuk sinar itu.

Situasi ini sebenarnya sedikit lebih rumit. Gambar-ure 2 menunjukkan analog 2D dari suatu kondisi di mana sinar akan memproyeksikan ke lebih dari satu ubin. Dalam kasus Ray A jika kita hanya memproyeksikan asal-usul sinar ke dasar PSF itu akan mengambil ubin 4. Namun, jelas pasangan calon yang tepat akan menjadi gabungan dari ubin 2, 3 dan 4. Oleh karena itu dua titik pada setiap sinar harus memproyeksikan d - asal, dan titik akhir. Dalam kasus bayangan peraba sinar titik-akhir diberikan oleh posisi sumber cahaya. Dalam kasus sinar primer atau sekunder titik pada sinar yang memotong dengan batas adegan (diwakili oleh lingkaran pada Gambar-ure 2) dapat digunakan. Jika proyeksi dari dua titik ini









Gambar 2. Sinar tumpang tindih lebih dari satu ubin.


Tidak dalam ubin yang sama maka set objek kandidat yang tepat adalah penyatuan semua ubin yang melintasi sinar. Untuk jumlah PSF yang cukup besar (l), arah sinar akan lebih terwakili dan kedua ujung-ujung sinar akan memproyeksikan ke ubin yang sama.

4. Ray-Tile Traversal

Setelah PSF dan genteng telah diidentifikasi untuk sebuah sinar, rangkaian poligon yang dirujuk harus dicari untuk menemukan persimpangan sinar-poligon terdekat (jika ada). Ini adalah operasi kritis. Untuk jumlah poligon yang cukup besar, pendekatan yang disajikan sejauh ini sangat menderita dan lebih cepat untuk tidak menggunakan menggunakan pohon BSP tipe CRT untuk melintasi seluruh rangkaian poligon untuk setiap sinar dibandingkan dengan pencarian linear dari poligon dalam ubin . Alasannya adalah karena kinerja logarith-mic pohon BSP dan kinerja linear dalam jumlah rata-rata poligon per petak pendekatan VLF-RT. Di sisi lain pendekatan VLF-RT memang memiliki keuntungan bahwa tanpa adanya lintasan sinar, dan secara simultan dengan pencarian, adalah mungkin untuk mengurangi ruang pencarian menjadi bagian yang sangat kecil dari ukuran totalnya. Untuk mengurangi ketergantungan linear dari waktu pada rata-rata jumlah poligon per ubin, kompleksitas kedalaman sepanjang ubin (sepanjang arah PSF) dikurangi dengan mengosongkan poligon ubin ke dalam partisi 1D BSP. Memisahkan pesawat adalah or-thogonal dengan arah sinar dan dipilih menggunakan split median sederhana. Partisi BSP ini sepanjang ubin dapat diwakili secara efisien oleh array 1D standar. Poligon yang mengangkang beberapa daun BSP ditugaskan untuk masing-masing daun. Selama pengujian persimpangan, ubin-BSP traversal in-volses rekursif dari segmen ray yang berhubungan dengan ubin di seluruh bidang partisi BSP dan mengunjungi node / daun dari dekat ke jauh sepanjang sinar. Ini traversal hampir-jauh-jauh memungkinkan terminasi dini ketika persimpangan ditemukan. Kinerja proses ini lebih ditingkatkan dengan menggunakan stack daripada kode rekursi eksplisit. Per-









Gambar 3. Sambungan Ray / Tile dengan lintasan linear dari pohon-pohon BSP 1D. Daun BSP yang ditandai dilalui dari dekat ke jauh sepanjang sinar.


Dapat lebih dikurangi dan rekursi dihindari sepenuhnya dengan melintasi BSP daun secara linear. BSP daun terdekat dan terjauh dapat ditentukan langsung dari nilai t-silang parametrik sinar dengan batas-batas ubin. Mengingat representasi 1D array dari BSP, sekali mulai dan akhir daun ditentukan, daun intervensi dapat dikunjungi dekat ke jauh dalam traversal linear sederhana. Hal ini dimungkinkan karena daun sudah benar selaras dalam urutan yang diperlukan sepanjang arah sinar. Penghentian awal dari proses ini lagi mungkin karena dekat dengan traversal yang jauh. Gambar 3 menunjukkan persimpangan linier dari daun ubin-BSP selama ray-traversal dari beberapa ubin - hanya poligon yang terletak di daun abu-abu yang diuji untuk persimpangan.

5. Masalah Implementasi

Linear traversal dari ubin-BSP sangat efisien karena traversal dapat direalisasikan dengan implementasi yang sangat sederhana yang tidak memerlukan pencarian kerja untuk menghitung urutan yang benar untuk mengunjungi BSP daun. Masuk dan keluar dari t-nilai parametrik pada batas-batas ubin dihitung secara in-crementally ketika traversal melintasi ke ubin baru. Saat membangun ubin-BSP, poligon dipotong ke batas ubin sebelum membandingkan rentang kedalaman poligon dengan bidang pembelahan - ini mencegah ekses yang tidak perlu dalam daftar poligon yang ditetapkan. Ketika memotong sinar tertentu, PSF terdekat digunakan dan sinar diproyeksikan ke PSF ini menggunakan algoritma rasterisasi garis yang mirip dengan yang digunakan dalam rasterisasi ubin selama inisialisasi (lihat Gambar 1). Juga, sinar terpotong ke persimpangannya dengan adegan itu

Batas. Daftar ubin berpotongan (misalnya ubin 2 hingga 4 pada Gambar-ure 2) dilalui di depan ke urutan belakang dan segmen sinar untuk setiap ubin dibatasi oleh perpotongan sinar dengan batas ubin itu. Dalam sebuah ubin, segmen ray diinteraksikan menggunakan linear traversal dari BSP ubin. Perhatikan bahwa perbedaan arah antara sinar dan arah PSF telah dibesar-besarkan pada Gambar 2 dan 3 untuk mengilustrasikan masalah dengan lebih jelas; dalam prakteknya hanya sejumlah kecil ubin yang berpotongan tergantung pada resolusi ubin (n) dan jumlah PSF (l). Situasi yang ideal adalah ketika arah sinar cocok dengan arah PSF sangat erat - hanya satu ubin yang perlu dipertimbangkan dalam kasus itu (Ray C ). Jelas tidak ada penyilangan ubin dalam kasus ini dan traversal linear sederhana dari ubin-BSP untuk seluruh segmen-ray adalah semua yang diperlukan.








Gambar 4. Gambar dari adegan acak. Adegan 9K (kiri) dan 16K (kanan) dilihat dari dua sudut pandang yang digunakan untuk menentukan kinerja.

5.1. Implementasi Coherent Ray Tracing

Pendekatan CRT sinar tunggal diimplementasikan berikut [37]. Ini menggunakan median spasial untuk BSP membelah pesawat, dan tata letak segitiga dioptimalkan dijelaskan dalam [36]. Rekover BSP traver-sal digulirkan menggunakan stack eksplisit, dan kernel intersection secara langsung inline menggunakan makro. Semua kode kerangka lain seperti pembuatan sinar, bayangan, dll. Dibagi antara dua implementasi.

6. Hasil

Kami membandingkan kinerja VLF-RT dengan implementasi CRT yang dijelaskan di atas. Untuk setiap metode kami menggunakan parameter yang paling cepat untuk metode itu. Dalam kasus pohon BSP untuk CRT, parameterisasi harus dipilih khususnya kedalaman maksimum pohon, dan jumlah maksimum maksimum poligon diizinkan per simpul daun (sub-ject ke kedalaman maksimum). Untuk menentukan parameter ini kami menjalankan serangkaian percobaan pra-uji dengan adegan yang dijelaskan dalam bagian berikut, untuk menentukan kombinasi terbaik kedalaman dan ukuran daun - ini kemudian digunakan dalam tes kinerja komparatif. Sederhananya, kedalaman ideal dari ubin-BSP ditentukan untuk VLF-RT menggunakan strategi yang sama. Kami juga dapat memvariasikan jumlah PSF dan resolusi ubin - sudah mengetahui bahwa resolusi yang lebih tinggi akan menghasilkan kinerja yang lebih baik. Semua timing diperoleh pada 2.8Ghz Pentium 4 dengan memori sistem 2GB.

6.1. Perbandingan Performa

Kami tertarik pada kecepatan ray-traversal karena jumlah poligon meningkat. Untuk tujuan ini kami menggunakan adegan artifi-cial dengan segitiga acak terdistribusi seragam (Gambar-ure 4). Gambar 5 menunjukkan waktu frame, dirata-ratakan selama beberapa frame untuk meningkatkan jumlah segitiga yang dilihat dari jalur kamera pendek melalui adegan. Sekali lagi, hasil untuk parameter seval diperoleh dan hasil dari parameterisasi terbaik disajikan.

 








Gambar 5. Waktu rata-rata untuk membuat gambar 512 × 512 dari adegan dengan meningkatnya jumlah segitiga acak yang terdistribusi secara seragam.


6.2. Walkthrough

Pada bagian sebelumnya kami membahas kinerja untuk skalabilitas VLF-RT untuk adegan yang tersusun dari poligon acak. Kami sekarang mempertimbangkan sebuah walkthrough dari adegan 'Classroom' yang lebih re-alistic (Gambar 7). Adegan terdiri dari 51.208 poligon dan 4 titik sumber cahaya. Dua metode shad-ing digunakan: metode OpenGL sederhana seperti yang hanya mentransmisikan sinar primer dan titik warna berdasarkan tekstur menyebar lokal dan jarak / arah ke sumber cahaya; dan Shading tipe-Whitting yang menggunakan pantulan sekunder dan sinar bayangan. Frame perbandingan membuat waktu untuk berjalan-jalan dari adegan kelas sepanjang jalur kamera tetap yang terdiri dari 420 frame untuk CRT dan VLF-RT meth-ods ditunjukkan pada Gambar 6. Hasil ini untuk parameter opti-mum untuk CRT (BSP kedalaman 23) dan VLF-RT (128 × 128 ubin, ubin-BSP kedalaman 5) - jumlah PSF













Gambar 6. Render frame kali untuk adegan ruang kelas.
Namun tetap diperbaiki di 513. Ukuran gambar yang diberikan per frame adalah 256 × 256.

 









Gambar 7. Adegan kelas dengan shading Whitted dan OpenGL.



7. Aplikasi untuk Oklusi Ambient

Ketika menyinari adegan / gambar, perhitungan dif-fuse antar-refleksi seringkali sangat mahal. Biasanya hanya beberapa iterasi transfer difus yang dihitung - mungkin meninggalkan beberapa fragmen dari pemandangan yang benar-benar gelap.Untuk mengatasi ini istilah ambient (biasanya konstan) ditambahkan ke perhitungan shading untuk memperhitungkan iterasi selanjutnya dari transfer difus - istilah ambient konstan ini dapat bagaimana membuat hasil tampak artifisial. Oklusi ambien adalah metode yang digunakan untuk membuat gambar terlihat lebih masuk akal secara fisik. Alih-alih menggunakan istilah ambien konstan, visibilitas pada suatu titik diambil sampelnya dan titik tersebut diarsir berdasarkan jumlah sampel yang tidak segera tersumbat. Illu-mination biasanya dari skylight atau langit-kubah di atas objek dan hasil bayangan yang mensimulasikan bayangan lembut. Oklusi Ambient pada suatu titik dapat dihitung dengan memasukkan bayangan sinar ke dalam adegan untuk mengintegrasikan visibilitas atas belahan di sekitar normal pada titik tersebut. Arah yang dipilih untuk integrasi ini secara merata diambil sampelnya di atas belahan bumi untuk menghindari bias dan sejumlah besar sinar dilemparkan untuk mengurangi kebisingan. Struktur data VLF-RT memiliki beberapa



 


















Gambar 8. Gambar-gambar Ray yang ditelusuri dengan ambient Oc-clusion shading.


Keuntungan dalam perhitungan Ambient Occlusion pada suatu titik. Seperti disebutkan, arah yang dipilih untuk sinar yang dilemparkan dari titik harus secara merata diambil sampelnya di atas belahan atas titik tersebut. Arah-arah ini juga bisa dipilih dari set arah PSF karena ini mewakili distribusi arah yang seragam. Ketika bayangan sinar dilemparkan ke adegan dari titik dan terletak di sepanjang arah PSF, kedua titik akhir dari sinar itu jatuh pada ubin yang sama (lihat Gambar 2, Ray C ). Dalam hal ini, sinar tidak akan melewati batas-batas ubin dan hanya perlu untuk melintasi ubin BSP terkait dari dekat-ke-jauh. Ini adalah proses yang sangat sederhana karena struktur data yang optimal untuk traversal alam ini. Image render times untuk berbagai adegan (Gambar-ure 8) diperoleh menggunakan parameter optimal untuk BSP



Tempat kejadian
CRT
VLF-RT
Kecepatan Relatif
Sapi
38,01 detik
15,15 detik
2,51x
(5.8K polys)
(Kedalaman BSP 16)
(Kedalaman tBSP 3)

Kalajengking
32,19 detik
17,88 detik
1.80x
(10K polys)
(Kedalaman BSP 19)
(Kedalaman tBSP 3)

Bugatti
43,54 detik
21,63 detik
2,01x
(11K polys)
(Kedalaman BSP 17)
(kedalaman TBSP 4)

Gereja
25.50 detik
14.07 detik
1,81x
(16K polys)
(Kedalaman BSP 19)
(kedalaman TBSP 4)

Kapal penarik
44,36 detik
30,65 detik
1.45x
(34K polys)
(Kedalaman BSP 23)
(kedalaman TBSP 4)


Tabel 1. Kinerja komparatif untuk bayangan Oklusi Ambient.


 Kedalaman pohon di kedalaman CRT dan ubin-BSP di VLF-RT. Jumlah arah PSF dan resolusi ubin per PSF tetap dipertahankan pada 513 dan 128 × 128 masing-masing. Tabel 1 menunjukkan waktu yang dibutuhkan untuk membuat gambar Ambient Occlusion berbayang dari beberapa adegan untuk kedua metode.

Sebanyak 513 sinar dilemparkan ke TKP dari setiap titik permukaan untuk mengintegrasikan visibilitas atas belahan bumi. Ukuran gambar 256 × 256 diberikan untuk setiap adegan. Hasil ini menunjukkan keuntungan yang signifikan untuk metode VLF-RT untuk naungan jenis Ambient Occlusion yang membutuhkan integrasi visibilitas atas belahan bumi. Untuk adegan Gereja, CRT melacak  1,3 Mrays / sec sedangkan jejak VLF-RT  2.4 Hr / dtk.
Menjelajah penelusuran sinar dapat digunakan untuk membuat bingkai berikutnya seperti biasa. Untuk menghapus objek dari struktur data VLF-RT, semua PSF dikunjungi, dan objek rasterised ke dalam sistem koordinat ubin seperti biasa, kecuali bahwa dalam hal ini pengidentifikasi objek dihapus daripada ditambahkan. Kemudian geometri poligon diubah, dan dimasukkan kembali ke dalam struktur ubin dan BSP.

Ucapan Terima Kasih

Penelitian ini didanai oleh EPSRC GR / R13685 / 01. Terima kasih kepada Ingo Wald dan Carsten Benthin untuk memberikan sug-gestions pada pelacakan sinar real time.


8. Kesimpulan


Dalam makalah ini kami telah memperkenalkan metode ray-traversal baru, dan mengilustrasikan aplikasinya dalam penelusuran sinar klasik dan aplikasi ray tracing untuk shading oc-clusion yang efisien. Metode ini bergantung pada pencarian yang sangat cepat untuk mendapatkan pasangan calon poligon untuk setiap sinar, dan kemudian poligon ini dapat dilalui oleh pohon BSP dengan pembagian sepanjang hanya satu sumbu. Hasilnya menunjukkan bahwa metode ini berkinerja lebih baik daripada metode CRT sinar tunggal dengan pohon BSP median spasial untuk berbagai adegan.

Tentunya implementasi CRT yang digunakan jauh dari op-timal. Kinerja dapat meningkat secara signifikan dengan menggunakan heuristik pembelahan pesawat yang berbeda [17] dan bundling sinar [37], dan akan menarik untuk melihat bagaimana pendekatan yang disajikan di sini tarif jika optimisasi ini diperkenalkan ke kedua algoritma; ini adalah area penelitian yang sedang berlangsung.

Dalam makalah ini kami hanya membahas aplikasi walkthrough. Namun, penelusuran sinar real-time juga menuntut kemungkinan perubahan dinamis pada objek. Ini mudah dicapai dengan metode VLF-RT [24, 23]. Ketika suatu objek diubah, pertama-tama harus dihapus dari struktur data, kemudian geometrinya diubah dan dimasukkan kembali ke dalam struktur data. Setelah operasi-operasi ini dilakukan,






















Referensi
[1]     J. Amanatides. Ray menelusuri dengan kerucut. Dalam SIGGRAPH '84: Prosiding konferensi tahunan ke-11 pada grafik Com-puter dan teknik interaktif, halaman 129–135, 1984.
[2]     A. Appel. Beberapa teknik untuk rendering mesin shading dari zat padat. AFIPS 1968 Spring Joint Computer Conference, 32: 37–45, 1968.

[3]     J. Arvo dan D. Kirk. Pelacakan sinar cepat berdasarkan klasifikasi sinar. Dalam SIGGRAPH '87: Prosiding konferensi tahunan ke-14 pada grafik Komputer dan teknik interaktif, volume 21, halaman 55–64, Juli 1987.
[4]     C. Benthin, I. Wald, dan P. Slusallek. Pendekatan terukur untuk penerangan global interaktif. Forum Grafis Komputer (Proc.of Eurographics), 22 (3): 621–630, 2003.

[5]     E. Camahort, A. Lerios, dan D. Fussell. Bidang cahaya seragam sam-pled. Dalam Rendering Techniques '98 (Proceedings of Eurographics Rendering Workshop '98), halaman 117–130, 1998.
[6]     NA Carr, JD Hall, dan JC Hart. Sinar en-gine. Dalam HWWS '02: Prosiding konferensi ACM SIG-GRAPH / EUROGRAPHICS pada perangkat keras Grafik, halaman 37–46, 2002.
[7]     Y. Chrysanthou, D. Cohen-Or, dan D. Lischinki. Cepat visibilitas kuantitatif pro-perkiraan untuk adegan yang kompleks. In Pro-
ceedings of Computer Graphics International '98 (CGI '98), halaman 220–227, 1998.
[8]     JG Cleary dan G. Wyvill. Analisis suatu algoritma untuk penelusuran sinar cepat menggunakan subdivisi ruang seragam. The Visual Computer, 4 (2): 65–83, 1988.
[9]     D. Cohen dan A. Kaufman. Pindai algoritme konversi untuk objek linear dan kuadrat. Dalam A. Kaufman, editor, Vol-ume Visualization, halaman 280–300. IEEE Computer Society Press, Los Alamitos, CA, AS, 1990.

[10]      T. Foley dan J. Sugerman. Struktur akselerasi pohon KD untuk raytracer GPU. Dalam HWWS '05: Prosiding konferensi ACM SIGGRAPH / EUROGRAPHICS pada perangkat keras Grafik-ics, halaman 15-22, 2005.

[11]     A. Fujimoto, T. Tanaka, dan K. Iwata. SENI: Sistem ray-tracing dipercepat. IEEE Computer Graphics & Applica-tions, 6 (4): 16–26, April 1986.
[12]      SEBAGAI Glassner. Subdivisi ruang untuk penelusuran sinar cepat. IEEE Computer Graphics & Applications, 4 (10): 15-22, 1984.
[13]     SEBAGAI Glassner. Sebuah Pengantar Ray tracing. Academic Press, San Diego, CA, USA, Januari 1989.

[14]     J. Goldsmith dan JK Salmon. Pembuatan otomatis hierarki obyektif untuk pelacakan sinar. IEEE Computer Graphics & Applications, 7 (5): 14–20 Mei 1987.
[15]      SJ Gortler, R. Grzeszczuk, R. Szeliski, dan MF Cohen. Lumigraph. Dalam SIGGRAPH '96: Prosiding konferensi tahunan ke-23 pada grafik Komputer dan teknik interaktif, halaman 43-54, 1996.

[16]     EA Haines dan DP Greenberg. Penyangga cahaya: Akselerator bayangan-pengujian. IEEE Computer Graphics & Ap-plications, 6 (9): 6–16, 1986.
[17]      V. Havran. Heuristic Ray Shooting Algorithms. Tesis PhD, Universitas Teknik Ceko di Praha, Praha, April 2001.
ˇ
[18]               V. Havran, J. Bittner, dan J. Zara´. Ray menelusuri dengan pohon tali. Dalam Prosiding Konferensi Musim Semi ke-13 pada Grafik Com-puter, halaman 130–139, 1998.
ˇ
[19]               V. Havran, T. Kopal, J. Bittner, dan J. Zara´. Cepat algoritma bsp traversal yang kuat untuk ray tracing. Jurnal Alat Grafis, 2 (4): 15–23, 1997.
[20]               FW Jansen. Struktur data untuk penelusuran sinar. Dalam proses lokakarya (Seminar Eurografi di Struktur data untuk grafik raster), halaman 57–73. Springer-Verlag, Inc., NY, USA, 1986.
[21]               MR Kaplan. Pelacakan ruang: Pelacak sinar waktu konstan. Dalam SIGGRAPH '85 State of the Art dalam catatan seminar Sintesis Gambar, volume 19, halaman 149–158, Juli 1985.
[22]               TL Kay dan JT Kajiya. Ray menelusuri adegan-adegan rumit. Dalam SIGGRAPH '86: Prosiding konferensi tahunan ke-13 pada grafik Komputer dan teknik interaktif, volume 20, halaman 269–278, NY, USA, 1986.

[23]               P. Khanna, J. Mortensen, I. Yu, dan M. Slater. Pelacakan cepat adegan-adegan dengan gerakan tidak terstruktur. Laporan teknis, University College London, 2004.

[24]               P. Khanna, J. Mortensen, I. Yu, dan M. Slater. Bidang visibilitas untuk pelacakan sinar dinamis. Laporan teknis, University College London, 2004.

[25]               B. Kwon, DS Kim, K.-Y. Chwa, dan SY Shin. Klasifikasi sinar efisien-memori untuk operasi visibilitas. Transaksi IEEE pada Visualisasi dan Grafik Komputer, 4 (3): 193–201, Juli 1998.

[26]     H. Landis. Pencahayaan global siap produksi. Dalam Catatan Kursus SIG-GRAPH 2002, 2002.
[27]     M. Levoy dan P. Hanrahan. Rendering medan cahaya. Dalam SIG-GRAPH '96: Prosiding konferensi tahunan ke-23 pada grafik Komputer dan teknik interaktif, halaman 31–42, 1996.
[28]     M. Pharr, C. Kolb, R. Gershbein, dan P. Hanrahan. Ren-buzz adegan kompleks dengan tracing sinar koheren-memori. Dalam SIGGRAPH '97: Prosiding konferensi tahunan ke-24 pada grafik Komputer dan teknik interaktif, halaman 101–108, Agustus 1997.

[29]     TJ Purcell, I. Buck, WR Mark, dan P. Hanrahan. Ray menelusuri pada perangkat keras grafis yang dapat diprogram. ACM Trans-tindakan di Graphics, 21 (3): 703-712, Juli 2002.
[30]     A. Reshetov, A. Soupikov, dan J. Hurley. Algoritma pelacakan sinar multi-level. Transaksi ACM pada Grafik, 24 (3): 1176–1185, 2005.
[31]     J. Shade, S. Gortler, L. wei He, dan R. Szeliski. Gambar kedalaman berlapis. Dalam SIGGRAPH '98: Prosiding konferensi tahunan ke-25 pada grafik Komputer dan teknik interaktif, halaman 231–242, 1998.
[32]     G. Simiakakis dan AM Day. Subdivisi lima dimensi adaptasi untuk pelacakan sinar. Forum Grafis Komputer (Proc.of Eurographics), 13 (2): 133–140, 1994.
[33]     M. Slater. Permintaan waktu yang konstan pada titik-titik terdistribusi secara merata di suatu belahan bumi. Jurnal Alat Grafis, 7 (1): 33–44, 2002.
[34]      M. Slater, J. Mortensen, P. Khanna, dan I. Yu. Pendekatan medan cahaya virtual untuk iluminasi global. Dalam Proceedings of Computer Graphics International (CGI 2004), halaman 102-109. IEEE Computer Society Press, 16-19 Juni 2004.

[35]     K. Sung dan P. Shirley. Ray menelusuri dengan pohon bsp. Di D. Kirk, editor, Graphics Gems III, volume versi IBM, halaman 271–274. Morgan Kaufmann Publishers, 1992.
[36]     I. Wald. Realtime Ray Tracing dan Interaktif Global Illu-mination. PhD thesis, Saarland University, 2004.
[37]     I. Wald, C. Benthin, M. Wagner, dan P. Slusallek. Render inter-aktif dengan pelacakan sinar koheren. Dalam Forum Grafis Komputer (Prosiding EUROGRAPHICS 2001), volume 20, halaman 153–164, 2001.
[38]     I. Wald, T. Kollig, C. Benthin, A. Keller, dan P. Slusallek. Pencahayaan global interaktif menggunakan pelacakan sinar cepat. Di
Rendering Techniques 2002 (Prosiding lokakarya grafis Euro ke-13 tentang Rendering), 2002.
[39]     I. Wald, TJ Purcell, J. Schmittler, C. Benthin, dan P. Slusallek. Pelacakan sinar realtime dan penggunaannya untuk iluminasi global interaktif. Eurographics 2003 STAR Report, 22 (3), 2003.
[40]      B. Walter, G. Drettakis, dan S. Parker. Perenderan interaktif menggunakan render cache. Dalam teknik Rendering '99 (Pro-ceedings dari 10th Eurographics Workshop on Rendering), volume 10, halaman 235–246, Juni 1999.

[41]     G. Ward dan M. Simmons. Cache holodeck ray: sistem render inter-aktif untuk iluminasi global di lingkungan nondiffuse. ACM Transactions on Graphics, 18 (4): 361–368, 1999.
[42]      T. Whitted. Model iluminasi yang ditingkatkan untuk dis-play berbayang. Komunikasi ACM, 23 (6): 343–349, 1980.