OpenGL VAO en iyi uygulamalar
İm VAO bağımlı olmak inandığım bir konu ile karşı karşıya, ama.. emin değilim
Bir VAO doğru kullanım hakkında emin değilim, GL başlatma sırasında yapmak için kullanılan ne kadar basitti
glGenVertexArrays(1,&vao)
bir izledi
glBindVertexArray(vao)
ve sonra, benim çizim boru hattı, hemen aradım() glBindBuffer, glVertexAttribPointer(), glEnableVertexAttribArray()ve aldırmadan başlangıçta ilişkili VAO hakkında
bu doğru bir uygulama mı?
CEVAP
VAOs benzer şekilde VBOs hareket ve bağlı oldukları nasıl ile ilgili dokular. Tek bir VAO programın tamamı boyunca bağlı olması da hiç VAOs olmadan işleme olabilirsin çünkü hiçbir performans faydalar getirecektir. Aslında yavaş uygulanması çizilmiş konum olarak köşe nitelik ayarlarını nasıl yakaladığını bağlı olabilir.
Bir VAO noktası tüm yöntemleri bir nesne başlatma sırasında bir kez çizmek için gerekli çalışma ve çağrı Tepegöz ana döngü sırasında tüm ekstra yöntem biçilmiş kaftan. Nokta çizim arasında çok VAOs ve anahtarı var.
En iyi açısından pratik, buraya kodunuzu düzenlemek gerekir:
initialization:
for each batch
generate, store, and bind a VAO
bind all the buffers needed for a draw call
unbind the VAO
main loop/whenever you render:
for each batch
bind VAO
glDrawArrays(...); or glDrawElements(...); etc.
unbind VAO
Bu/yığınının tamponlar bağlama ve her köşe nitelik için tüm ayarları geçen karışıklığı önler ve sadece tek bir yöntem çağrısı ile değiştirir, bir VAO bağlama.

En iyi Çöp Toplayıcı aktivitesini azal...
API Sayfa en iyi uygulamalar...
İPhone OpenGL glReadPixels için daha h...
Android SQLite için en iyi uygulamalar...
PHPUnit testleri organize etmek için e...