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.

Featured

Recents

Gaussian Splatting, LiDAR, and the Future of Spatial Workflows

A guest article from Mirror Labs Co-Founder, Kyle Robichaux.

Kyle Robichaux

Sep 29, 2026

Gaussian Splatting, LiDAR, and the Future of Spatial Workflows

A guest article from Mirror Labs Co-Founder, Kyle Robichaux.

Kyle Robichaux

Platforms

Spatial Slideshow 0.9.0 Runs Apple's Photos Model as Splats

Spatial Slideshow 0.9.0 turns Photos albums into 3D Gaussian scenes using Apple's Reframe models and private macOS 27 splat renderer, adding real-time playback.

Michael Rubloff

Sep 29, 2026

Platforms

Spatial Slideshow 0.9.0 Runs Apple's Photos Model as Splats

Spatial Slideshow 0.9.0 turns Photos albums into 3D Gaussian scenes using Apple's Reframe models and private macOS 27 splat renderer, adding real-time playback.

Michael Rubloff

Platforms

Arcturus Vision Releases Gaussian XR for Steam Frame

Arcturus Vision Gaussian XR is out free on Steam for Steam Frame, with eight example scenes, PLY and SOG loading, and a Mac training route through Spirula.

Michael Rubloff

Sep 28, 2026

Platforms

Arcturus Vision Releases Gaussian XR for Steam Frame

Arcturus Vision Gaussian XR is out free on Steam for Steam Frame, with eight example scenes, PLY and SOG loading, and a Mac training route through Spirula.

Michael Rubloff

Platforms

Open3D v0.20 Adds Gaussian Splat Rendering and SPZ Support

Open3D v0.20.0 adds Gaussian splat rendering, loading PLY, SPLAT and SPZ files and compositing splats with triangle meshes using per-splat depth occlusion.

Michael Rubloff

Sep 28, 2026

Platforms

Open3D v0.20 Adds Gaussian Splat Rendering and SPZ Support

Open3D v0.20.0 adds Gaussian splat rendering, loading PLY, SPLAT and SPZ files and compositing splats with triangle meshes using per-splat depth occlusion.

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

Spatial Slideshow 0.9.0 Runs Apple's Photos Model as Splats

Spatial Slideshow 0.9.0 turns Photos albums into 3D Gaussian scenes using Apple's Reframe models and private macOS 27 splat renderer, adding real-time playback.

Michael Rubloff

Sep 29, 2026

Spatial Slideshow

Platforms

Spatial Slideshow 0.9.0 Runs Apple's Photos Model as Splats

Michael Rubloff

Sep 29, 2026

Spatial Slideshow

Platforms

Spatial Slideshow 0.9.0 Runs Apple's Photos Model as Splats

Spatial Slideshow 0.9.0 turns Photos albums into 3D Gaussian scenes using Apple's Reframe models and private macOS 27 splat renderer, adding real-time playback.

Michael Rubloff

Sep 29, 2026

Spatial Slideshow

Platforms

Arcturus Vision Releases Gaussian XR for Steam Frame

Arcturus Vision Gaussian XR is out free on Steam for Steam Frame, with eight example scenes, PLY and SOG loading, and a Mac training route through Spirula.

Michael Rubloff

Sep 28, 2026

Arcturus Gaussian XR

Platforms

Arcturus Vision Releases Gaussian XR for Steam Frame

Michael Rubloff

Sep 28, 2026

Arcturus Gaussian XR

Platforms

Arcturus Vision Releases Gaussian XR for Steam Frame

Arcturus Vision Gaussian XR is out free on Steam for Steam Frame, with eight example scenes, PLY and SOG loading, and a Mac training route through Spirula.

Michael Rubloff

Sep 28, 2026

Arcturus Gaussian XR

Platforms

Open3D v0.20 Adds Gaussian Splat Rendering and SPZ Support

Open3D v0.20.0 adds Gaussian splat rendering, loading PLY, SPLAT and SPZ files and compositing splats with triangle meshes using per-splat depth occlusion.

Michael Rubloff

Sep 28, 2026

Open3D

Platforms

Open3D v0.20 Adds Gaussian Splat Rendering and SPZ Support

Michael Rubloff

Sep 28, 2026

Open3D

Platforms

Open3D v0.20 Adds Gaussian Splat Rendering and SPZ Support

Open3D v0.20.0 adds Gaussian splat rendering, loading PLY, SPLAT and SPZ files and compositing splats with triangle meshes using per-splat depth occlusion.

Michael Rubloff

Sep 28, 2026

Open3D

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.