2013-07-11 19 views
9

Şu anda, bir doku, bir vào ve VBO içeren RenderObject sınıflar koleksiyonu var. Bu nesnelerin binlerce çiziminde, tüm durum geçişleri nedeniyle bir performans cezası verilir ve az sayıda üçgenle glDrawArrays numaralı telefona çağrılır.Her VBO için bir VAO'ya ihtiyacınız var mı?

Şimdi uygulamamı değiştireceğim, böylece bir dizi 1MiB VBO'lar oluşturacağım (bir tane ile başla, bir kere tam 1MiB VBO oluştur ve bunu doldurmaya devam et). Her VBO için ayrı bir VAO'ya ihtiyacım var mı? VBO zaten serpiştirilmiş köşe verileri kullanır, bu yüzden ben bazı karışıklıklar olabilir düşünüyorum vs. köşeler, normaller, doku coords için

cevap

10

birden VBOS kullanarak bahsetmiyorum. Vertex Attribs, tek bir köşe ile geçebileceğiniz köşe elemanlarının sayısını ifade eder (normal değerler bir, UV'ler diğeri, vb.). Uygulamanızda, bu büyük olasılıkla aşmayacağınız 16 ile sınırlıdır.

VAOs tek beraberlik çağrısını oluşturacak şekilde gereken durum bilgisini depolar. Bu, söz konusu arama için hangi VBO'ların bağlanması gerektiğini saklamayı içerir. Her bir VBO'nın kendine ait ayrı bir çekiliş çağrısıyla çizilmesi gerektiğinden, her biri için kurulum bilgilerini saklamak için bir VAO'ya ihtiyacınız olduğunu düşünürdüm.

İşte iyi bir açıklaması var:

http://ogldev.atspace.co.uk/www/tutorial32/tutorial32.html

+0

İyi bir nokta, teşekkürler, köşe attrib şeyler kaldırdık. –

+0

@MarkIngram Diğer okurların iyiliği için soruyu bende tutardım. Eğer 3.3 çekirdek Spec pdf VAO devlet tablo sayfası bakarsak –

+1

Ben bir VAO noktası (ARRAY_BUFFER_BINDING) bağlayıcı VBO bağlamak etmediğini hemen hemen% 100 değilim, açıkça sonraki pp "parçası olmayan diyor VAO durumu ". Ayrıca, https://twitter.com/id_aa_carmack/status/409495250646753280 onay https://www.opengl.org/registry/doc/glspec33.core.20100311.withchanges.pdf, s 281 ve 282. kontrol Bağlantılı olduğunuz öğreticinin, her zaman yeniden aynı olan eleman dizisi arabelleğini kaynakladığından veya öğe dizisi arabelleğinin hangi VBO kullanacağından emin olmadığından çalıştığını düşünüyorum. – Amadiro

İlgili konular