Gaussian splatting is becoming a practical middle ground between dense mesh geometry and neural radiance fields for high-quality, view-dependent 3D rendering. This project brings that representation to the browser: a WebGL2-first renderer that fuses point-based Gaussian splats with traditional mesh rendering, optimized for interactive and mobile scenarios.
What Sets It Apart
- Browser-first architecture with a Rust → Wasm component so heavy lift (decompression, GPU data prep) happens off the main JS thread — meaning faster load and smoother interaction on constrained devices.
- Broad format support (PLY, compressed PLY, SPZ, SPLAT, KSPLAT, SOG), so it plugs into many capture / reconstruction pipelines without extra conversion steps — you can preview outputs from different scanners or neural pipelines directly in the browser.
- Integration into the THREE.js rendering pipeline (splat + mesh compositing, correct sorting, shader graph) — so teams that already use three can adopt splat assets without rewriting their renderer.
- Runtime dynamism: per-splat transforms, skeletal animation, color/displacement edits, and multi-view rendering enable both interactive viewers and animated scenes, not just static previews.
Who It's For and Trade-offs
Great fit if you need a web-native viewer or demo for 3D captures and want better visual fidelity than raw point clouds without shipping heavy native clients. It's also useful for prototypes that combine mesh and splat assets or for demos of neural-rendering outputs. Look elsewhere if you need photorealistic offline path-traced renders, deterministic production pipelines for high-end VFX, or tightly controlled GPU drivers—those use cases still favor native renderers and offline toolchains. Expect some complexity around asset versioning and large-asset delivery (the project includes tooling to compress and cache assets, but large scans still require bandwidth).