IndexedBufferGeometry的BufferAttribute大小

时间:2016-07-27 08:10:27

标签: three.js

其他(自定义)属性的正确长度应该是多少 如果 length of my position attribute is mlength of my index attribute is n

示例,如果我有一个矩形表面要绘制;

4 points => 4*3 = length of positions is 12,
2 triangles => 2*3 = length of index attribute is 6

如果我需要颜色属性(rgba)那么数组的长度应该是多少?

4 * 4 = 16 or 6*4 = 24 ?

1 个答案:

答案 0 :(得分:0)

属性具有itemSize属性,用于确定单个向量的数量

位置属性有itemSize == 3

几何体是否被索引并不重要,因为每个顶点都需要为自己定义每个属性

您可以获得positionAttribute.count有效positionAttribute.array.length / positionAttribute.itemSize

的顶点数

所以你的RGBA颜色属性需要itemSize = 4因此它需要有长度为4 * positionAttribute.count的数组

var rbgaAttribute = new THREE.BufferAttribute(new Float32Array(4 * positionAttribute.count), 4);