其他(自定义)属性的正确长度应该是多少
如果
length of my position attribute is m
和
length 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 ?
答案 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);