Our 3d visualization engine is based on THREEJS. We use THREEJS BufferGeometry JSON format (gzipped) to work with simple 3D objects and point clouds. This approach works pretty well: relatively small size to transfer and cache, direct compatibility with THREEJS geometry objects => good speed.
But the problem is that the memory limit for the browser is ~3Gb. The storage limit is also 3Gb max (IndexedDB). The browser does not have direct access to the client’s HDD. Streaming technologies like 3D Tiles (pretty closed format) does not solve this problem (we still need to cache data and load it to memory). Using the ‘Level of details’ approach does not solve it too (we need to deal with even more data for levels). So how to solve it? I see 2 workarounds:
- Create a caching proxy app
- Create web/js-based native app (electron etc)