I've been using the fromGeometry method to make BufferGeometry objects from regular Geometry objects, and I've found that it seems the number of vertices increases during the conversion. For example if I do something like:
var geometry = new THREE.BoxGeometry(80,80,80,16,16,16);
var bGeometry = new THREE.BufferGeometry();
bGeometry.fromGeometry(geometry);
console.log(bGeometry.getAttribute('position'));
console.log(geometry.vertices.length);
I get a Float32Array[27648], which divided by 3 yields 9216, while the Geometry has 1538 vertices. I understand THREE.BoxGeometry merges some vertices, so I suspect that might have to do with it, but am I correct that BoxGeometry objects have more vertices? Or are Geometry objects "uncompressed" in the GPU anyway so they actually have the same number of vertices, just not in my Geometry object?
The reason I'm asking is that I was trying to create a custom attribute, but my array was too short when I only iterated over the number of vertices in my Geometry object, thinking that there would be the same amount of vertices in both objects.