OpenGL® VBO Nedir?

Open Graphics Library® (OpenGL®) bilgisayar grafik kütüphanelerini bilgisayar programlaması için kullanırken, köşe arabelleği nesnesi (VBO) üç boyutlu (3B) bir objenin grafiklerin hafızasında oluşturulmasını ve saklanmasını sağlayan bir veri yapısıdır. kart veya grafik donanımı. Bu, bir OpenGL® VBO'nun çok hızlı bir şekilde oluşturulmasını ve anında mod çizimi kullanan diğer tekniklerden çok daha az sistem kaynağı kullanmasını sağlar. Bir OpenGL® VBO, hızdaki artışlara ve genel giderlerin düşmesine ek olarak, bir OpenGL® ekran listesinden farklı olarak - hafızaya alındıktan sonra değiştirilebilecek dinamik bir veri yapısıdır. Bir OpenGL® VBO konsepti, aslında farklı isimler altında, daha sonra OpenGL® Architecture Review Board (ARB) tarafından standartlaştırılmış olan OpenGL® kütüphanelerinin bir uzantısı olarak benzer bir işlevsellik türü içeren donanım üreticileriyle başladı.

Bir OpenGL® VBO temel olarak diğer iki OpenGL® veri yapısının bir birleşimidir. Bir köşe dizisinin temel işlevlerini kapsar, çünkü geometri hakkındaki bilgiler - köşe koordinatları, normaller ve renk dahil - hepsi işleme için OpenGL®'e iletilebilecek yapısal bir dizide saklanabilir. Bununla birlikte, bir köşe dizisinden farklı olarak, bir OpenGL® VBO, işleyicinin sunucu tarafında depolanır ve köşe bilgileri için müşteri tarafına sürekli erişmesi gerekmez.

VBO'nun grafik hafızasında saklanmasına izin vererek, aynı zamanda bir ekran listesinin özelliklerini de üstlenir. En büyük fark, bir OpenGL® VBO'nun değiştirilebilmesi ve ekran listesinin değiştirilememesidir. Ek olarak, VBO mutlaka bir görüntüleme listesi olacağı gibi grafik belleğine kopyalanmayabilir, bu nedenle bellekte sadece bir veri yapısının bulunması gerekir.

Bir OpenGL® VBO nihayet gerçekleştiğinde, depolandığı grafik belleğine ve grafik işlem ünitesine (GPU) olan mesafe çok küçüktür ve ilk önce daha yavaş sistem donanımları arasında geçiş yapmak zorunda kalmadan çok hızlı rasterleştirme sağlar. Bununla birlikte, bazı durumlarda, VBO'ların kullanımı grafik kartı donanımı tarafından desteklenmemektedir. Bu, bir VBO kullanımından ya da bazı grafik kartlarıyla uyumlu olmayacak bir programdan herhangi bir ek avantaj çıkarmayan programlama sorunlarına yol açabilir.

Bir OpenGL® VBO'nun kullanıldığında nasıl işlendiğini optimize etmeye yardımcı olacak bazı yöntemler vardır. Bunlardan biri, VBO’nun bellekte nereye yerleştirilmesi gerektiğini belirlemeye yardımcı olmak için grafik kartına veya OpenGL®’e ipuçları sağlamaktır. Sağlanan ipuçlarına bağlı olarak, VBO, grafik kartındaki doğrudan grafik belleğinde veya gerekli görüldüğü takdirde sistemin ana rasgele erişim belleğinde (RAM) saklanabilir.