Three.js r186 Adds Native Gaussian Splats, and You Can Load One in Three Lines

How to Use Three.js's New Native Gaussian Splats

Three.js r186 Adds Native Gaussian Splats, and You Can Load One in Three Lines

Three.js r186 makes 3D Gaussian Splatting a first-class citizen: a built-in GaussianSplat mesh type plus loaders for SPZ, PLY, KSPLAT, SPLAT, and glTF. A splat is a fuzzy, oriented, colored 3D ellipsoid, and thousands to millions sorted back-to-front blend into a photorealistic image with no meshing or UV unwrapping. Loading is one loader call, one mesh, one scene.add(), though it requires WebGPURenderer and is built for object- or room-scale captures, not city blocks.

A Gaussian Splat is a point cloud where every point is a fuzzy, oriented, colored 3D ellipsoid (a "splat") instead of a hard vertex.
  1. andybak

    No .sog support? I can't tell if .spz or .sog is likely to win out as a de facto standard - or whether both will co-exist but annoyingly I've gravitated towards .sog as it seemed technically superior and I'd be mildly inconvenienced if it became a niche format.

  2. Wendell58

    Remember struggling with custom splat shaders? This native integration is a huge quality-of-life improvement for web dev.

  3. tobyhinloopen

    No demo?

More from this day

2026-09-13