Skip to main content
GitHub

The Gaussian Splats showcase renders a deterministic, colorful scene with the experimental @luma.gl/splats renderer. Each source batch remains independently owned, so additional splats can appear progressively without concatenating or reuploading the previously prepared GPU data.

WebGPU uses a compiled GPU command graph for camera-aware Gaussian projection, visibility, transparency ordering, and rendering. Expand GPU graph inspector for per-node encoding diagnostics, or select CPU depth ordering to compare against the original renderer. WebGL2 provides its existing attribute-backed fallback. The example keeps file format parsing separate: loaders.gl owns .ply, .splat, .ksplat, and related loaders, while @luma.gl/arrow converts Gaussian Apache Arrow batches into the framework-independent GPU representation.

Spherical-harmonic DC colors remain unclamped floating-point radiance from loading through GPU rendering. Standard displays use configurable exposure and tone mapping, while compatible WebGPU displays can present directly to an extended-range rgba16float canvas.

To explore complete captured scenes, open the Gaussian Splat Viewer. It starts with the 741,883-splat Train capture and offers Truck, Dr Johnson, Playroom, GitHub fallback, and custom public source URLs without requiring a local loaders.gl checkout.

The standalone example also supports an optional neighboring loaders.gl 5 alpha checkout. Start it with VITE_LOADERS_GL_ROOT=/path/to/loaders.gl and open ?loaders=local; use ?loaders=local&scene=fixture for the small parser test asset.

Known GraphDECO captures use scene-specific camera-up conventions instead of assuming every scene is Z-up; Truck also starts from its published camera position. Foreground-based framing keeps the subject visible, manual orbit and zoom persist while additional batches stream in, and stationary scenes avoid unnecessary redraws.