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 mode 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 yang berbeda — jenis fungsionalitas yang serupa sebagai perpanjangan dari perpustakaan OpenGL® yang kemudian distandarisasi oleh OpenGL® Architecture Review Board (ARB).

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.

Dengan mengizinkan VBO untuk disimpan dalam memori grafis, VBO juga mengambil beberapa properti dari daftar tampilan. Perbedaan utamanya adalah OpenGL® VBO dapat dimodifikasi dan daftar tampilan tidak bisa. Selain itu, VBO tidak harus 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 berpindah melalui perangkat keras sistem yang lebih lambat terlebih dahulu. 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.