Using a bufferGeometry, I created a THREE.Point object to display thousands of particles with the PointsMaterial material. Changing textures and colors on runtime worked perfectly for me.
However, I faced an issue when trying to have particles of different sizes. Simply setting a BufferAttribute did not work for me. I attempted to use a custom shader as suggested in this Three.js Particles of various sizes thread but couldn't get it to function properly, possibly due to a Three.js version compatibility issue.
I then considered grouping particles by size and creating separate bufferGeometries for each particle size. But I am uncertain if this is the most efficient approach for performance. Should I opt for a custom shader instead to achieve my desired outcome?
Current Three.js revision: 72