Apa itu OpenGL® VBO?

Saat menggunakan perpustakaan grafis komputer Open Graphics Library® (OpenGL®) untuk pemrograman komputer , objek buffer vertex (VBO) adalah struktur data yang memungkinkan objek tiga dimensi (3D) dibangun dan disimpan dalam memori grafis kartu atau perangkat keras grafis. Hal ini memungkinkan OpenGL® VBO dirender dengan sangat cepat dan menggunakan sumber daya sistem yang jauh lebih sedikit daripada teknik lain yang menggunakan gambar cara langsung. Selain peningkatan kecepatan dan pengurangan overhead grafis, OpenGL® VBO juga merupakan struktur data dinamis — tidak seperti daftar tampilan OpenGL® — yang dapat diubah setelah berada di memori. Konsep OpenGL® VBO sebenarnya dimulai dengan produsen perangkat keras yang awalnya menyertakan — dengan nama berbeda — jenis fungsionalitas yang serupa sebagai perpanjangan dari pustaka OpenGL® yang kemudian distandarisasi oleh OpenGL® Architecture Review Board (ARB).

OpenGL® VBO disimpan di sisi server perender dan tidak perlu terus-menerus mengakses sisi klien untuk informasi vertex.

OpenGL® VBO pada dasarnya adalah kombinasi dari dua jenis struktur data OpenGL® lainnya. Ini mencakup fungsionalitas dasar larik simpul, karena informasi untuk geometri — termasuk koordinat simpul, normal, dan warna — semuanya dapat disimpan dalam larik terstruktur yang dapat diteruskan ke OpenGL® untuk diproses. Namun, tidak seperti larik simpul, OpenGL® VBO disimpan di sisi server perender dan tidak perlu terus-menerus mengakses sisi klien untuk informasi simpul.

Buffer vertex OpenGL® digunakan untuk membuat objek buffer vertex (VBO), memungkinkan objek dalam adegan tiga dimensi (3D) dirender sebagai bagian dari daftar tampilan dan bukan dalam cara langsung.

Dengan membiarkan VBO disimpan dalam memori grafis, VBO juga mengambil beberapa sifat dari daftar tampilan. Perbedaan utama adalah bahwa OpenGL® VBO dapat dimodifikasi dan daftar tampilan tidak bisa. Selain itu, VBO tidak perlu disalin ke memori grafis seperti daftar tampilan, jadi hanya satu struktur data yang perlu ada di memori.

Ketika OpenGL® VBO akhirnya dirender, jarak dari memori grafis tempat penyimpanannya dan unit pemrosesan grafis (GPU) sangat kecil, memungkinkan rasterisasi yang sangat cepat tanpa perlu terlebih dahulu melewati perangkat keras sistem yang lebih lambat. Namun, dalam beberapa kasus, penggunaan VBO tidak didukung oleh perangkat keras kartu grafis. Hal ini dapat menyebabkan masalah pemrograman yang menghilangkan manfaat tambahan dari penggunaan VBO, atau program yang tidak kompatibel dengan beberapa kartu grafis.

Ada beberapa metode yang dapat membantu mengoptimalkan bagaimana OpenGL® VBO diperlakukan saat digunakan. Salah satunya adalah memberikan petunjuk ke kartu grafis, atau ke OpenGL®, untuk membantu menentukan di mana VBO harus ditempatkan di memori. Tergantung pada petunjuk yang diberikan, VBO dapat disimpan langsung di memori grafis pada kartu grafis, atau mungkin disimpan di memori akses acak (RAM) utama sistem, jika dianggap perlu.

Related Posts