Visibilitas
Algoritma Portal Sel
Identifikasi portal yang bisa
dilihat. Portal menghubungkan dua sel yang terputus. User akan
mengidentifikasi bagaimana caranya agar bisa menggunakan portal untuk
visibilitas yang efisien.
Potentially Visible Cells
Generating :
Untuk dua sel mana saja, cari tahu apakah objek terlihat dan Oculuders
Tradeoffs :
- Penyimpanan
- Komputasi
- Agresif atau Konservatif
Algortihms for Combining Occluders
- Oklusi Horizons berfungsi untuk adegan 2.5.
Bagus untuk kota dan sejenisnya dan ada ekstensi untuk pemandangan 3D
yang relatif sederhana seperti jembatan
- Green’s Hierarchical Z-Buffer membangun okluder dan menguji oklusi
diruang layar
Membutuhkan perangkat keras khusus atau perender perangkat lunak
Zhang et.al.
Peta Oklusi Hierarki merender okluder menjadi peta tekstur kemudian
membandingkan objek kepeta.
- Menggunakan
perangkat keras yang ada tetapi membayar untuk operasi pembuatan tekstur
disetiap bingkai.
- Memungkinkan
perkiraan visibilitas jika diinginkan (Terkadang tidak menggambar hal-hal
yang seharusnya)
Schaufler et.al.
Occluder Fusion membangun struktur data spasial dari wilayah yang
tersumbat
Metode ini sebagian besar
berfungsi untuk didalam ruangan dan terdapat pemandangan alam, yaitu lahan dan
hutan (Tidak dapat menemukan okluders yang bagus)
Slight Digression
Level of Detail (LOD)
Memiliki beberapa representasi
dari objek yang sama dan menggambar dari yang paling sederhana yang bisa user
lakukan
Terrain
Hal yang terpenting untuk banyak
game dan sebagai model, ukurannya sangat besar. Membuat setiap titik
secara eksplisit dengan tangan terdapat tidak memungkinkan sehingga metode
pembuatan medan otomatis adalah umum. Saat rendering, beberapa medan
mendekat dan bagian lain menjauh yang mengarah ke algoritma LOD medan
Representing Terrain
Representasi dasar untuk medan
biasanya berupa bidang ketinggian
- z = f (x, y) untuk (x, y) dalam
batas spasi
- Menghindari hal-hal seperti goa
dan overhang yang harus dirawat secara khusus
Ada dua cara umum untuk
merepresentasikan fungsi f(x, y) :
Simpan secara eksplisit nilai
f(x, y) untuk grid diskrit lokasi (x, y)
- Umumnya
interpolasi (Bilinear) atau triangulasi untuk mendapatkan poin yang tidak
ada digrid
- Mudah untuk
mengetahui berapa ketinggian medan pada suatu nilai (x, y)
- Mahal untuk
menyimpan seluruh medan.
Penggabungan
Diamond merupakan calon gabungan
jika anak anggotanya masuk dalam triangulasi. Salah satu cara penggabungan
diamond adalah cari orang tua dari simpul daun saudara yang merupakan tetangga
dasar atau tidak memiliki tetangga dasar. Kemudian mengurangi jumlah segitiga.
Algoritma Penyempitan LOD
Dimulai dengan jaringan
dasar. Pisahkan segitiga berulang kali sampai selesai. Berhenti ketika
hitungan segitiga tertentu tercapai atau berhenti ketika kesalahan kurang dari
jumlah tertentu. Untuk memandu urutan pemisahan, tetapkan prioritas untuk
setiap pemisahan dan selalu lakukan yang memiliki prioritas tertinggi. Setelah
tahap pemisahan, perbarui prioritas segitiga yang terpengaruh.
Prioritas sampel : Prioritas
tinggi pada pemisahan yang akan mengurangi kesalahan besar.
User akan memeriksa apakah
algoritma sudah dinyatakan kompleks. Algoritme serupa bekerja dengan
menyederhanakan mesh melalui operasi penggabungan.
Catatan Perbaikan
Jika prioritasnya monoton, maka
medan yang dihasilkan optimal.
Monotonik : Prioritas anak-anak
tidak lebih besar dari prioritas orang tua mereka.
Prioritas dapat berasal dari
banyak sumber :
Didalam atau diluar pandangan,
siluet, kesalahan yang diproyeksikan, dibawah kendaraan dan garis pandang.
Tidak memanfaatkan koherensi :
Saat tampilan bergerak diatas
medan, triangulasi cenderung tidak banyak berubah.
User harus bisa memulai dengan
triangulasi yang ada dan memodifikasinya untuk menghasilkan triangulasi baru
yang optimal.
Kesalahan Metriks yang
Diproyeksikan
Idenya adalah untuk mengetahui
seberapa jauh urutan penggabungan memindahkan medan dari lokasi aslinya yang
benar. Diukur dalam ruang layar, yang dilihat oleh penonton.
Mulailah dengan batas-batas
diruang dunia, kemudian proyeksikan batas-batas tersebut pada saat run-time.
Batas ruang dunia terlihat independen dan batas ruang layar yang diproyeksikan
bergantung pada tampilan.
Performance Bottlenecks
- Menyimpan dan mengelola prioritas untuk
segitiga yang tidak terlihat hanya membuang-buang waktu. Lakukan
pemusnahan frustum standar untuk mengidentifikasi mereka.
- Mengirim segitiga individu itu boros. Sebaiknya
buat strip saat segitiga dipisahkan dan digabungkan.
- Secara naif disetiap frame, pernikahan harus
diproyeksikan, prioritas baru dihitung dan antrian diurutkan
ulang. Gunakan kecepatan pemirsa untuk mengikat jumlah bingkai
sebelum sebuah prioritas bisa mencapai puncak tumpukan dan tunda penghitungan
ulang sampai saat itu.
- Antrian prioritas : Prioritas bin untuk mengurangi
biaya penyortiran
- Pada prioritas rendah, urutan didalam keranjang
tidak menjadi masalah.
Peningkatan Tambahan
- Hentikan
pemrosesan setelah jangka waktu tertentu. Mudah untuk dilakukan, cukup
hentikapemrosesan pemisahan atau penggabungan berikutnya. Hasilnya tidak
lagi optimal, tapi mungkin tidak begitu buruk juga.
- Biaya
algoritma antrian ganda tergantung pada jumlah langkah yang diperlukan
untuk mengubah satu mesh kemesh lainnya. Periksa sebelumnya berapa
banyak langkah yang mungkin diperlukan dan jika mungkin, buat kembali mesh
dari awal menggunakan algoritma perbaikan.
- Dapat
memperoleh ketinggian garis pandang atau dibawah kendaraan yang akurat
dengan memanipulasi prioritas untuk memaksa pemisahan tertentu
Metode ini sebagian besar
berfungsi untuk didalam ruangan dan terdapat pemandangan alam, yaitu lahan dan
hutan (Tidak dapat menemukan okluders yang bagus)
Slight Digression
Level of Detail (LOD)
Memiliki beberapa representasi
dari objek yang sama dan menggambar dari yang paling sederhana yang bisa user
lakukan
Terrain
Hal yang terpenting untuk banyak
game dan sebagai model, ukurannya sangat besar. Membuat setiap titik
secara eksplisit dengan tangan terdapat tidak memungkinkan sehingga metode
pembuatan medan otomatis adalah umum. Saat rendering, beberapa medan
mendekat dan bagian lain menjauh yang mengarah ke algoritma LOD medan
Representing Terrain
Representasi dasar untuk medan
biasanya berupa bidang ketinggian
- z = f (x, y) untuk (x, y) dalam
batas spasi
- Menghindari hal-hal seperti goa
dan overhang yang harus dirawat secara khusus
Ada dua cara umum untuk
merepresentasikan fungsi f(x, y) :
Simpan secara eksplisit nilai
f(x, y) untuk grid diskrit lokasi (x, y)
- Umumnya
interpolasi (Bilinear) atau triangulasi untuk mendapatkan poin yang tidak
ada digrid
- Mudah untuk
mengetahui berapa ketinggian medan pada suatu nilai (x, y)
- Mahal untuk
menyimpan seluruh medan.
Penggabungan
Diamond merupakan calon gabungan
jika anak anggotanya masuk dalam triangulasi. Salah satu cara penggabungan
diamond adalah cari orang tua dari simpul daun saudara yang merupakan tetangga
dasar atau tidak memiliki tetangga dasar. Kemudian mengurangi jumlah segitiga.
Algoritma Penyempitan LOD
Dimulai dengan jaringan
dasar. Pisahkan segitiga berulang kali sampai selesai. Berhenti ketika
hitungan segitiga tertentu tercapai atau berhenti ketika kesalahan kurang dari
jumlah tertentu. Untuk memandu urutan pemisahan, tetapkan prioritas untuk
setiap pemisahan dan selalu lakukan yang memiliki prioritas tertinggi. Setelah
tahap pemisahan, perbarui prioritas segitiga yang terpengaruh.
Prioritas sampel : Prioritas
tinggi pada pemisahan yang akan mengurangi kesalahan besar.
User akan memeriksa apakah
algoritma sudah dinyatakan kompleks. Algoritme serupa bekerja dengan
menyederhanakan mesh melalui operasi penggabungan.
Catatan Perbaikan
Jika prioritasnya monoton, maka
medan yang dihasilkan optimal.
Monotonik : Prioritas anak-anak
tidak lebih besar dari prioritas orang tua mereka.
Prioritas dapat berasal dari
banyak sumber :
Didalam atau diluar pandangan,
siluet, kesalahan yang diproyeksikan, dibawah kendaraan dan garis pandang.
Tidak memanfaatkan koherensi :
Saat tampilan bergerak diatas
medan, triangulasi cenderung tidak banyak berubah.
User harus bisa memulai dengan
triangulasi yang ada dan memodifikasinya untuk menghasilkan triangulasi baru
yang optimal.
Kesalahan Metriks yang
Diproyeksikan
Idenya adalah untuk mengetahui
seberapa jauh urutan penggabungan memindahkan medan dari lokasi aslinya yang
benar. Diukur dalam ruang layar, yang dilihat oleh penonton.
Mulailah dengan batas-batas
diruang dunia, kemudian proyeksikan batas-batas tersebut pada saat run-time.
Batas ruang dunia terlihat independen dan batas ruang layar yang diproyeksikan
bergantung pada tampilan.
Performance Bottlenecks
- Menyimpan dan mengelola prioritas untuk
segitiga yang tidak terlihat hanya membuang-buang waktu. Lakukan
pemusnahan frustum standar untuk mengidentifikasi mereka.
- Mengirim segitiga individu itu boros. Sebaiknya
buat strip saat segitiga dipisahkan dan digabungkan.
- Secara naif disetiap frame, pernikahan harus
diproyeksikan, prioritas baru dihitung dan antrian diurutkan
ulang. Gunakan kecepatan pemirsa untuk mengikat jumlah bingkai
sebelum sebuah prioritas bisa mencapai puncak tumpukan dan tunda penghitungan
ulang sampai saat itu.
- Antrian prioritas : Prioritas bin untuk mengurangi
biaya penyortiran
- Pada prioritas rendah, urutan didalam keranjang
tidak menjadi masalah.
Peningkatan Tambahan
- Hentikan
pemrosesan setelah jangka waktu tertentu. Mudah untuk dilakukan, cukup
hentikapemrosesan pemisahan atau penggabungan berikutnya. Hasilnya tidak
lagi optimal, tapi mungkin tidak begitu buruk juga.
- Biaya
algoritma antrian ganda tergantung pada jumlah langkah yang diperlukan
untuk mengubah satu mesh kemesh lainnya. Periksa sebelumnya berapa
banyak langkah yang mungkin diperlukan dan jika mungkin, buat kembali mesh
dari awal menggunakan algoritma perbaikan.
- Dapat
memperoleh ketinggian garis pandang atau dibawah kendaraan yang akurat
dengan memanipulasi prioritas untuk memaksa pemisahan tertentu