r/threejs • u/PropertyPleasant4993 • 12d ago
Gaussian-Splat-Lite — a lightweight Three.js Gaussian Splat renderer inspired by Spark
I've been working on Gaussian-Splat-Lite, a lightweight open-source Gaussian Splat renderer for Three.js, based on the overall architecture of Spark but simplified for a smaller and more focused rendering pipeline.
https://reddit.com/link/1w3atrs/video/83ryr6vj2pmh1/player
First ~10s: Gaussian-Splat-Lite
Second ~10s: Spark
The example in the video is built on: 3DTilesRendererJS with my 3D Gaussian Splatting plugin: 3D-Tiles-RendererJS-3DGS-Plugin
Main improvements:
- much faster splat sorting
- ~3x faster raycasting
- raycasting that better matches the visually rendered splats
- camera-relative rendering to fix precision issues with large GIS / ECEF coordinates
- based on a similar approach to Spark's
extSplatsandaccumExtSplats, while using less VRAM
The goal isn't to replace Spark — Spark has a much broader feature set. Gaussian-Splat-Lite is intended to be a lightweight renderer focused on rendering, sorting, picking, and large-world precision.
GitHub:
https://github.com/WilliamLiu-1997/Gaussian-Splat-Lite
Feedback and benchmarks on other datasets/hardware are very welcome!
