Kamis, 10 Juni 2021

Pertemuan 4 -Teknologi Game | Visibilitas

Nama    : Kareem Abdul Jabbar
NPM     : 53418591
Kelas    : 3IA15

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

Problems

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







Tidak ada komentar:

Posting Komentar

Konsep Dasar Komputasi

  Ringkasan Konsep Dasar Komputasi   A.     Apa itu Komputasi? Komputasi adalah algoritma yang digunakan untuk menemukan suatu cara da...