OpenGL VAO en iyi uygulamalar | Netgez.com
SORU
19 Ocak 2012, PERÅžEMBE


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
19 Ocak 2012, PERÅžEMBE


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.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Brandon McCrary

    Brandon McCr

    15 Ocak 2012
  • Edge-CGI 3D Tutorials and more!

    Edge-CGI 3D

    11 HAZİRAN 2013
  • Electro Posé

    Electro PosÃ

    21 ÅžUBAT 2013