playcanvas/supersplat-viewer
User-friendly, high-performance viewer for 3D Gaussian splats
SuperSplat Viewer – Quick Overview
What it is – A web‑based viewer for SuperSplat 3‑D scenes (Gaussian‑splatting point clouds). It runs as a single static site, using PlayCanvas’ engine and either WebGPU or WebGL for rendering.
Why it matters – Gaussian‑splatting is a modern way to visualise ultra‑dense 3‑D reconstructions (e.g., photogrammetry, NeRF‑style captures). This viewer lets developers and artists load, explore, and debug those scenes directly in the browser, with optional AR/VR support via WebGL.
Core Features (as described in the README)
| Feature | Details |
|---|---|
| Rendering back‑ends | Uses WebGPU when available, falls back to WebGL. WebGL is required for AR/VR. |
| Stochastic renderer | Experimental unsorted splat renderer (WebGPU only) with developer knobs (splatSource, variant). |
| UI controls via URL | Load custom settings, scene files, skyboxes, collision meshes, and tweak UI visibility (noui, reticle, ministats, language). |
| Performance tweaks | Antialiasing (aa), splat budget, high‑precision rendering toggle, full‑load LOD streaming, post‑effect toggle (nofx). |
| Debug & diagnostics | Debug panel (debug), heat‑map overlay for voxel collisions, runtime CPU/GPU graphs. |
| Embedding API | Packaged as an NPM module (@playcanvas/supersplat‑viewer) with an API reference for programmatic control. |
| Local development | Simple Node‑based workflow (npm install, npm run develop). Can link against PlayCanvas engine debug build via ENGINE=debug. |
How to Use It
- Run the demo – Open the hosted static site (or
npm run developlocally) and pass URL parameters to point at your own.ply,.sog, or compressed scene files. - Customize – Supply a
settings.jsonfile, skybox image, or collision mesh to enrich the scene. - Embed – Install the NPM package and use the documented API (
docs/api.md) to integrate the viewer into other web apps.
Who Might Want This?
- 3‑D content creators working with Gaussian‑splatting pipelines who need a quick way to preview results.
- Developers building web‑based AR/VR experiences that require high‑density point‑cloud rendering.
- Researchers testing new rendering tricks (stochastic splats, LOD budgets) without writing a custom engine.
Getting Started Quickly
# Clone & run locally
git clone https://github.com/playcanvas/supersplat-viewer.git
cd supersplat-viewer
npm install
npm run develop # opens http://localhost:3000
Then append URL params, e.g.:
http://localhost:3000?content=./myScene.compressed.ply&skybox=./sky.hdr&webgl
Bottom line – SuperSplat Viewer is a focused, open‑source tool for visualising cutting‑edge Gaussian‑splat 3‑D data in browsers, with flexible rendering options and a developer‑friendly API.
Related
- Project
- Project
- Project
- Project
- Project