Nama : Barra Waskito
NPM : 51417159
Kelas : 3IA03
MatKul : Grafika Komputer 2
Judul : Progressive Least-Squares Encoding for Linear Bases
Link : http://jcgt.org/published/0009/01/02/
Abstraksi
Fungsi basis
linear dapat digunakan untuk menyandikan fungsi bola dalam format terkompresi,
di mana informasi seperti bidang cahaya dapat diwakili oleh seperangkat fungsi
dasar tetap dan koefisien basis yang sesuai. Dalam grafik komputer, fungsi
untuk menyandikan seringkali dihasilkan melalui integrasi Monte-Carlo, dan,
dalam konteks seperti lightmap atau irradiance volume baking, berguna untuk
menampilkan hasil progresif.
Makalah ini
menyajikan metode yang efisien, mudah diimplementasikan, kompatibel dengan GPU
untuk secara progresif melakukan pengkodean mendekati kuadrat-terkecil ke dalam
basis linear sewenang-wenang (Listing 1). Metode ini juga mendukung perkiraan
pengkodean nonnegatif, memastikan bahwa fungsi yang direkonstruksi bernilai
positif dan meningkatkan tampilan dalam berbagai skenario.
Pengantar
Basis linear
telah lama populer dalam grafik komputer sebagai sarana untuk menyimpan
informasi cahaya yang disandikan dalam format yang ringkas. Fungsi-fungsi dasar
yang paling umum digunakan berasal dari farmakologis farmak, fungsi keluarga
untuk fungsi dasar normal yang dapat secara efisien dikodekan, diterjemahkan,
dan berbelit-belit dalam waktu nyata. Namun, harmonik bola jauh dari
satu-satunya fungsi fungsi dasar bola yang bermanfaat; Ambient Cube
[Mitchelletal.2006], AmbientDice [IwanickiandSloan2017], AmbientHighlight
Direction [Sloan dan Silvennoinen 2018], dan bola Gaussian [Wang et al. 2009]
fungsi dasar semuanya terlihat digunakan dalam aplikasi waktu nyata. Format ini
dapat memberikan keuntungan dalam rekonstruksi waktu nyata; misalnya, mereka dapat
mengurangi kebutuhan bandwidth atau jejak memori dibandingkan dengan harmonik
bola orde tinggi, dan beberapa dapat digunakan untuk memperkirakan radiasi
cahaya specular secara lebih akurat. Namun, format ini tidak biasa dan
karenanya mahal untuk disandikan; pengodean dengan cara kuadrat-terkecil untuk
meminimalkan kesalahan dalam aproksimasi membutuhkan perkalian dengan matriks N
× N, di mana N adalah jumlah fungsi basis, baik sebagai langkah terakhir dalam
pengkodean atau per-sampel.
Secara lebih
formal, metode ini adalah tas tugas khusus dari Jacac Geier-Seideliteration
untuk ketika ruang fungsi secara iteratif dijadikan sampel. Untuk menurunkan
metode, kita mulai dengan Persamaan (1) dan pecahkan untuk satu bi, dengan
asumsi bahwa semua bj diketahui dari iterasi sebelumnya
Kemanjuran
teknik ini tergantung pada distribusi sampel yang masuk. Jika titik sampel
didistribusikan di seluruh domain sampling dengan cara yang tidak berkorelasi
atau berkorelasi negatif (white noise atau blue noise) maka hasilnya akan
menyatu dengan kesalahan mean-squared minimum; namun, jika titik sampel
berkorelasi tinggi, maka akan sangat buruk. Untungnya, jika pola pengelompokan
secara alami berkorelasi negatif dalam sebagian besar konteks di mana kita
mengumpulkan contoh-contoh cahaya secara progresif misalnya, pelacakan sampel
sering digunakan untuk memastikan bahwa sampel berturut-turut tidak terlalu
mewakili arah tertentu.
Jika bagian ini dimasukkan ke dalam pembagian yang tidak sama secara seragam di atas tempat (seperti kasus dalam pembuatan peta cahaya) tetapi domain integrasi berada di atas bola, sampel tambahan harus ditambahkan setelah setiap sampel yang benar dengan arah yang berlawanan dengan arah belahan bumi atas dan nilai cahaya dari nol. untuk memperkirakan beberapa kuantitas lainnya, seperti radiasi dari fungsi yang disandikan; integrasi lebih dari yang diperlukan untuk memotong klip dari BWD dengan sampel belahan bumi di samping belahan BRDF dan masing-masing domain fungsi dasar.
Kesimpulan
Metode ini
telah diterapkan dan diuji di berbagai perangkat lunak yang berbeda pada CPU
dan GPU. Prototipe awal dilakukan di dalam alat sumber terbuka Probulator
[O'Donnell 2016], dan kemudian diuji dalam alat sumber terbuka The Baking Lab
[Pettineo 2018]; implementasi GPU diuji dalam mesin sumber tertutup. Untuk
implementasi GPU, sampel ditelusuri dari lokasi dalam peta cahaya dan
diakumulasikan ke dalam target render RGBA flat-rate 32-bit fungsi per basis,
dengan integral bulat yang saya simpan di saluran alpha. Target render
flat-channel 32-bit single-channel juga digunakan untuk menyimpan total berat
sampel yang terakumulasi dan hasilnya disebarkan di beberapa texel menggunakan
bobot yang disaring. Mobil harus disimpan dengan memperhatikan penyimpanan
anak-anak dengan visibilitas yang tinggi b. Khususnya, titik pengaplikasian
16-bit tidak cukup tepat untuk menangkap penyesuaian menit pada bobot dan akan
menyebabkan bias terhadap nilai sampel yang besar. Dalam implementasi kami,
semua hasil antara disimpan dalam titik pengapungan 32-bit; tes pendahuluan
dilakukan dengan titik pengapungan 64-bit menunjukkan peningkatan minimal dalam
akurasi lebih dari 32-bit.
Tidak ada komentar:
Posting Komentar