I am planning to make a cad engine using three.js and it should able to handle more than 1 lakh geometry,when i tried this the rendering becomes slower as the number of geometry increase.I tried using merging of geometry,but it will not work in our project since it is necessary for every object should have there own geometry. I also tried Instancing (InstancedBufferGeometry) but instancing will only work for same type of objects with same geometry which does not satisfy our project requirement.Is there any other way so that we can handle large number of geometry(more than 1 lakh)
There are some improvements can be done by extending THREE. First of all starts with spatial management, as by default, THREE will do a frustum-sphere check what already can require a lot processing. It depends on your usecase, but maybe occlusion culling might be also an option, there are a lot techniques, some will require WeGL2 for queries.
Different LOD techniques might be an option too. Anyway, there is no out-of-box option. CAD software is very generic, is it a specialised tool, or general like 3DS or C4D?
Also, why do you make it conditional to this number? It fully depends on the complexity of each single geometry and also on the actual hardware. I assume you have a good consumer-level machine, even if your special case you tested runs smooth on yours, it probably will still run bad on other machines, even if it’s just the graphics card.