2016-03-31 18 views
0

OpenGL'deki bir 2B oluşturma motoru, genellikle her biri aynı Z derinliğinde 4 köşe içeren dörtlü görüntüler oluşturacaktır. Bu köşeler genellikle doku koordinatları için (X, Y, Z) ve (U, V) 'den oluşur.OpenGL: Z derinliğini tekdüze olarak saklayıp köşegelerde depolanır.

Ancak, belirli bir görüntünün her 4 köşesi de her zaman aynı derinliği kaplayacağından, yalnızca köşe başına (X, Y, U, V) yüklemek ve Z derinliklerini ayrı bir ünite olarak ayarlamak daha iyi olur. shader, ya da her 4 köşede bir üniforma güncelleme maliyeti pratikte çok önemli mi?

cevap

1

Kesinlikle istediğiniz gibi yapabilirsiniz. Tek bir bit fark edilebilir fark yaratmayacaktı - performans için herhangi bir etkiye sahip olmak için 4 köprüye yaptığınız herhangi bir değişiklik için, gerçekten de birkaç milyon parça gölgelendirici örneğinin aynı sırayla çalışacak olması gerçekten imkansızdır. 4 vertex shader yürütme.

Şahsen, quad'lar için hiç bir öznitelik kullanmıyorum - 4 sabit değer arasında geçiş yapmak için köşe ID'si kullanıyorum, bu da beni hiç bir arabellek kullanmak zorunda kalmamı engelliyor.