Spark on WebGPU

Demos of the WebGPU backend for Spark, the 3D Gaussian splatting renderer for three.js: relighting, streaming level of detail, per-splat attributes, GPU effects and dyno shaders.

These demos need WebGPU: current Chrome, Edge or Safari 26+. This browser has no WebGPU.

A marble chess pawn with a glass head, relit under a sunset sky

Relightable pawn

1.4M splats that each know how they receive light: switch the HDRI and they are relit live on the GPU.

A green Corvette C7 Stingray in a workshop, relit from its HDRI

Relightable Corvette

A whole car in 1.1M splats, about 71 MB: pick an HDRI and every part is relit live, glass and ground shadow included.

A spaceship interior rendered from streamed splats

Streaming level of detail

A 6M-splat scene streamed by pages from one .rad file, with LoD picked per view.

Spheres, a torus and boxes coloured by per-splat labels

Per-splat attributes

Labels, normals and feature vectors per splat: colour modes, extra targets and GPU picking.

A valley scene with a colour grade and corner pin

aofx effects

An aofx FxChain of compute effects (grade, blur, corner pin…) over the splat render.

A cat statue with an animated shader effect

Dyno shader effects

Dyno graphs with WGSL statements animate and recolour every splat on the GPU.