Bir sahne grafiği uygulamaya çalışıyorum ve karşılaştığım tüm makalelerde nesne sıralama hakkında konuşma var. Böylece nesnelerinizi "malzeme" ye göre sıralayabilirsiniz. Şimdi oturup uygulamaya başlayana kadar bunu bir nevi kabul ettim, çünkü mantıklıydı. Ama şimdi sıralamanın gerçekte ne değiştiğini merak ediyorum.
Motorumda, UBO'lar için bir yöneticim var, sadece zaman, kamera ve projeksiyon matrisleri ve ışıkları içeren şu anda programlar arasında paylaşılacak verileri depolamak için kullanıyorum (hangi ışıkların etkilendiğini yönetme konusunda endişelenmiyorum hangi nesneleri ATM).
Şimdi her model için modeli dünya matrisi üniformasıyla değiştirmek zorundayım, hiçbir sıralama bunu değiştirmeyecek. Peki, bu matrisi değiştirmekten, aynı zamanda kötü olan her nesne için bir malzeme belirlemeye geçiş mi?
Ben belli belirsiz Eğer boru hattı şey her değiştirdiğinizde, bu kızardı almak zorunda olduğu bir yere okuma hatırlamak ve bu performans sorunlarına neden olabilir. Ama her çizim çağrısı için yine de dünya matrisine bir model oluşturuyorum, bu yüzden bu konuda endişelenmek ne mantıklı?
BTW, üniforma değiştirmenin ve glBufferSubData'yı çağırmanın daha pahalı (veya daha az) olup olmadığı hakkında herhangi bir bilgi vardır.