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

  1. Run the demo – Open the hosted static site (or npm run develop locally) and pass URL parameters to point at your own .ply, .sog, or compressed scene files.
  2. Customize – Supply a settings.json file, skybox image, or collision mesh to enrich the scene.
  3. 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