Problem:
Large-scale 3D point cloud datasets, with hundreds of millions of
points, are often very slow or fail to open in existing desktop
viewers due to memory limitations.
Solution:
* I designed a hybrid architecture: a Rust native module handles the
heavy data processing, while WebGPU manages the rendering.
* Instead of loading the entire dataset into memory, I implemented a
custom Level of Detail (LOD) system that dynamically loads only the
necessary tiles.
* Thanks to this architecture, it's theoretically possible to visualize
a limitless number of points, provided you have the storage space.
Result:
The result is 'PointPeek', a desktop app that smoothly explores a 500M
point (10GB) dataset at 60fps.
Check it out in the demo video below:
* Demo Video: https://x.com/leesyub/status/1963623557117731144
Current Challenge:
I'm currently tackling the challenge of rendering the entire scanned
point dataset of the city of Vancouver, Canada. (Though, just
downloading the data seems like it will take a few days.)
Ultimate Goal:
After that, the ultimate goal is to integrate a local AI model via
Ollama to implement features for querying and analyzing the data using
natural language.
Technical questions or feedback are welcome.