three.js Ships Its Native Gaussian Splat Renderer and Splat Raycasting in r186

three.js r186 ships GaussianSplat, its first native Gaussian splat renderer, adding raycasting, per-mesh frustum culling and view-dependent spherical harmonics.

three.js r186 ships GaussianSplat, its first native Gaussian splat renderer, adding raycasting, per-mesh frustum culling and view-dependent spherical harmonics.

Michael Rubloff

Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

three.js Gaussian Splatting

three.js has released r186, the first numbered release of the library to carry a native gaussian splat renderer. The renderer, contributed by Ben Houston, merged in August, and it has been extended steadily since, so r186 carries the base implementation along with more than a dozen follow on changes to it.

The shipping class is GaussianSplat, in examples/jsm/objects. GaussianSplatMesh was renamed to GaussianSplat, and the dedicated PLY loader originally added as PLYGaussianSplatLoader was renamed to GaussianSplatPLYLoader.

Raycasting was also added to the release, contributed by Garrett Johnson and Ben Houston. GaussianSplat tests a ray against the mesh bounding sphere before touching any individual splat, then treats each surviving splat as the ellipsoid implied by its covariance matrix and solves the intersection from a matrix inverse and determinant on that covariance.

Other capabilities include per mesh bounding boxes and frustum culling, inline splat data reads to speed bounding box generation, sort invalidation for transforms, and packed RGBA8 colors in storage buffers. GaussianSplatUtils was simplified onto three.js math classes.

The glTF extension gained view dependent color through spherical harmonics. r186 evaluates the harmonic contribution once per splat in a compute pre pass and writes one vec4, 16 bytes per splat, into a storage buffer, so all four vertices of a splat quad read the same result. SPZLoader picked up SPZ version 4 and loader coverage at r186 runs to ply, spz, splat, ksplat, and the glTF KHR_gaussian_splatting extension.

Object3D itself changed in r186, gaining dispose() and intersectsFrustum(), which reaches every library that subclasses it. Spark, World Labs' MIT licensed splat renderer for three.js, merged a change calling super.dispose() in its Object3D subclasses roughly two and a half hours before r186 shipped. That change sits on main, and Spark's newest tag remains v2.1.0.

Considering SuperSplat 3.0 just released yesterday, Spark.js has seen elevated PRs, and now this, it seems like it's going to be a busy week for gaussian splatting on the web. three.js r186 is available now.

Thumbnail for Gaussian Splatting News episode 11

10:32

Watch · New every Monday

SpAItial Echo-3 & Apple Event 4D Splat Rig | Gaussian Splatting News

Episode 11 · Nov 2, 2026

Spatial AI launched Echo 3, a world model and iPhone capture app that turns a few minutes of video into a metric-scale Gaussian splat, mesh and point cloud.

Featured

Recents

Guest Article

SpatialView Makes Gaussian Splats Queryable by AI Agents

SpatialView takes virtual photographs of a Gaussian Splat and indexes them in a scene matrix that AI agents can search in plain language.

Thomas Charlton

Nov 7, 2026

Guest Article

SpatialView Makes Gaussian Splats Queryable by AI Agents

SpatialView takes virtual photographs of a Gaussian Splat and indexes them in a scene matrix that AI agents can search in plain language.

Thomas Charlton

Platforms

Splat3D Ships a Swift SDK for Its Gaussian Splatting API

Splat3D Swift SDK 1.1.0 records ARKit camera poses and LiDAR points during capture and returns Gaussian splats as SPZ, SOG or PLY from Splat3D's hosted API.

Michael Rubloff

Nov 7, 2026

Platforms

Splat3D Ships a Swift SDK for Its Gaussian Splatting API

Splat3D Swift SDK 1.1.0 records ARKit camera poses and LiDAR points during capture and returns Gaussian splats as SPZ, SOG or PLY from Splat3D's hosted API.

Michael Rubloff

News

Insta360 Launches a Spatial Capture Challenge

Insta360 opens the Spatial Capture Challenge for X5 and X6 owners, with $3,500 in prizes for Gaussian splat scenes made in Spatial Capture through December 20.

Michael Rubloff

Nov 6, 2026

News

Insta360 Launches a Spatial Capture Challenge

Insta360 opens the Spatial Capture Challenge for X5 and X6 owners, with $3,500 in prizes for Gaussian splat scenes made in Spatial Capture through December 20.

Michael Rubloff

Platforms

StarLightGS Relights Gaussian Splats Inside Unreal Engine

StarLightGS is an open-source plugin for Unreal Engine 5.7 and newer that renders Gaussian splats into the GBuffer so the engine's own lights relight them.

Michael Rubloff

Nov 6, 2026

Platforms

StarLightGS Relights Gaussian Splats Inside Unreal Engine

StarLightGS is an open-source plugin for Unreal Engine 5.7 and newer that renders Gaussian splats into the GBuffer so the engine's own lights relight them.

Michael Rubloff

Michael Rubloff

Written by Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

More from Michael Rubloff

More from Michael Rubloff

Platforms

Splat3D Ships a Swift SDK for Its Gaussian Splatting API

Splat3D Swift SDK 1.1.0 records ARKit camera poses and LiDAR points during capture and returns Gaussian splats as SPZ, SOG or PLY from Splat3D's hosted API.

Michael Rubloff

Nov 7, 2026

Splat3D

Platforms

Splat3D Ships a Swift SDK for Its Gaussian Splatting API

Michael Rubloff

Nov 7, 2026

Splat3D

Platforms

Splat3D Ships a Swift SDK for Its Gaussian Splatting API

Splat3D Swift SDK 1.1.0 records ARKit camera poses and LiDAR points during capture and returns Gaussian splats as SPZ, SOG or PLY from Splat3D's hosted API.

Michael Rubloff

Nov 7, 2026

Splat3D

News

Insta360 Launches a Spatial Capture Challenge

Insta360 opens the Spatial Capture Challenge for X5 and X6 owners, with $3,500 in prizes for Gaussian splat scenes made in Spatial Capture through December 20.

Michael Rubloff

Nov 6, 2026

Spatial Capture Challenge

News

Insta360 Launches a Spatial Capture Challenge

Michael Rubloff

Nov 6, 2026

Spatial Capture Challenge

News

Insta360 Launches a Spatial Capture Challenge

Insta360 opens the Spatial Capture Challenge for X5 and X6 owners, with $3,500 in prizes for Gaussian splat scenes made in Spatial Capture through December 20.

Michael Rubloff

Nov 6, 2026

Spatial Capture Challenge

Platforms

StarLightGS Relights Gaussian Splats Inside Unreal Engine

StarLightGS is an open-source plugin for Unreal Engine 5.7 and newer that renders Gaussian splats into the GBuffer so the engine's own lights relight them.

Michael Rubloff

Nov 6, 2026

StarlightGS

Platforms

StarLightGS Relights Gaussian Splats Inside Unreal Engine

Michael Rubloff

Nov 6, 2026

StarlightGS

Platforms

StarLightGS Relights Gaussian Splats Inside Unreal Engine

StarLightGS is an open-source plugin for Unreal Engine 5.7 and newer that renders Gaussian splats into the GBuffer so the engine's own lights relight them.

Michael Rubloff

Nov 6, 2026

StarlightGS

New to Gaussian Splatting? Start here

Radiance fields, explained from the ground up: what a Gaussian splat is, how to capture one, and which tools and gear to start with.

Newsletter

Keep up with the field.

New research, tools and captures from the Radiance Fields newsroom, in your inbox. Free, no spam.

Gaussian Splatting News on YouTube

The week in radiance fields, every Monday.

Gaussian Splatting News on YouTube

The week in radiance fields, every Monday.

Gaussian Splatting News on YouTube

The week in radiance fields, every Monday.

Gaussian Splatting News on YouTube

The week in radiance fields, every Monday.