I have a Draco3D Model that has to be rendered with different materials for each part.
What I used to do was to first load the whole geometry using DRACOLoader then create a new Mesh for each part by copying the section of buffer. But in this way calculating new index buffers used took up lots of CPU usage. So I sought a way in which I can share the buffer and render with range of index.
I tried usng BufferGeometry.addGroup(). It looked like exactly what I was looking for. By using the function I only had to make one mesh with array of materials. I expected much better performance. But the result was that it got little slower instead.
How is BufferGeometry.addGroups() implemented? Does it internally do exactly the same what I used to do and that’s why there was no performance differences?