2012-07-02 42 views
1

要在OpenGL ES 2.0中实现几何实例,我正在考虑将mat4作为属性传递。 由于属性是每个顶点数据,我是否需要通过相同的mat4,对于同一个三角形的每个顶点都需要三次(因为modelview在三角形的顶点上保持不变)。OpenGL ES 2.0 - 将modelview mat4作为属性变量传递

这相当于发送给GPU的额外数据(2个额外顶点* 16浮点*(三角形数量)额外数据量)。

或者我应该每个三角形只发送mat4一次吗?但是如何使用属性可能,因为属性被定义为“每个顶点”数据?

回答

2

没有像'每三角形'属性这样的事情。如果你想发送它们作为属性,它是每个顶点。

另一种选择是将所有矩阵上传到统一数组中,然后每个顶点只有一个整数索引,它决定了要查找哪个矩阵。这将相当多地降低您的流量开销。