繪製頂點蒙皮模型時,對於不同的iOS設備,每次繪畫調用/批次的骨骼最大數量是多少?OpenGL ES 2.0頂點蒙皮骨骼的最大數量?
在OpenGL ES 1.1上,限制由調色板矩陣的數量設置,但OpenGL ES 2.0如何設置限制?
繪製頂點蒙皮模型時,對於不同的iOS設備,每次繪畫調用/批次的骨骼最大數量是多少?OpenGL ES 2.0頂點蒙皮骨骼的最大數量?
在OpenGL ES 1.1上,限制由調色板矩陣的數量設置,但OpenGL ES 2.0如何設置限制?
OpenGL ES 2.0在所有頂點處理中使用着色器。所以它取決於你可以創建多少個統一的矩陣。這是一個實現定義的限制,因此它因硬件而異。
您還可以使用四元數+位置代替全矩陣來節省空間。
從iOS 7開始,您可以從頂點着色器訪問紋理單元,因此您可以製作紋理,用矩陣填充它並從頂點着色器訪問矩陣。這將允許訪問更多的矩陣,代價是更復雜的實現。
如果ES 2.0支持頂點紋理處理,您也可以使用紋理作爲轉換數據,這可能會提供更多的內存。但我想表現不會那麼好。 – 2012-01-17 17:38:07
感謝您的回答!正如蘋果指定的[這裏](http://developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/OpenGLESPlatforms/OpenGLESPlatforms.html)PowerVR SGX上的OpenGL ES 2.0支持「多達128個統一頂點着色器中的向量「。這如何轉化爲統一矩陣的最大數目? – 2012-01-17 17:54:24
@JonasBromö:這取決於。如果你使用'mat4's,那麼你將數字除以4,所以32.如果你使用'mat3x4'並做一些換位工作,那麼你將數字除以3,所以42.如果使用四元數+位置作爲我建議,只需要2個向量,所以你可以有64個。減去你可能需要的任何其他制服,比如投影矩陣等等。 – 2012-01-17 18:22:30