要在OpenGL ES 2.0中实现几何实例化,我正在考虑将mat4作为属性传递。 由于属性是每个顶点数据,我需要传递相同的mat4,对于同一个三角形的每个顶点传递三次(因为模型视图在三角形的顶点之间保持不变)。
这相当于发送到GPU的大量额外数据(2个额外顶点* 16个浮点数*(三角形数量)额外数据量。)
或者我应该每个三角形只发送一次mat4?但是如何使用属性,因为属性被定义为“每个顶点”数据?
答案 0 :(得分:2)
没有'per-triangle'属性这样的东西。如果你想把它们作为属性发送,那就是每个顶点。
另一种选择是将所有矩阵上传到统一数组中,然后每个顶点只有一个整数索引,用于确定要查找的矩阵。这将大大减少您的流式传输开销。