OpenGL ES 2.0 顶点蒙皮最大骨骼数量?
绘制顶点蒙皮模型时,对于不同的 iOS 设备,每次绘制调用/批次的最大骨骼数量是多少?
在 OpenGL ES 1.1 上,限制是由调色板矩阵的数量设置的,但是对于 OpenGL ES 2.0,什么设置了限制呢?
When drawing a vertex skinned model, what is the maximum number of bones per draw-call/batch for different iOS devices?
On OpenGL ES 1.1 the limit is set by the number of palette matrices, but how about OpenGL ES 2.0, what sets the limit?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
OpenGL ES 2.0 使用着色器进行所有顶点处理。所以这取决于你可以创建多少个统一矩阵。这是实现定义的限制,因此它因硬件而异。
您还可以对骨骼使用四元数+位置而不是完整矩阵以节省空间。
OpenGL ES 2.0 uses shaders for all of its vertex processing. So it depends on how many uniform matrices you can create. This is an implementation-defined limit, so it varies from hardware to hardware.
You can also use quaternions+position for bones instead of full matrices to save space.
从 iOS 7 开始,您可以从顶点着色器访问纹理单元,因此您可以制作纹理,用矩阵填充它,然后从顶点着色器访问矩阵。这将允许访问更多的矩阵,但代价是实现更复杂。
From iOS 7 you can access the texture units from the vertex shader, so you can make a texture, fill it with your matrices and access the matrices from your vertex shader. This will allow many more matrices to be accessed, at the expense of a more complex implementation.