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

Michael Rubloff

Michael Rubloff

Email
Copy Link
Twitter
Linkedin
Reddit
Whatsapp
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

Platforms

PlayCanvas Releases SuperSplat 3.0

SuperSplat 3.0 rewrites PlayCanvas's Gaussian splat editor on WebGPU only, removing the WebGL2 path, cutting peak memory, and adding sort-free Stochastic Alpha.

Michael Rubloff

Sep 8, 2026

Platforms

PlayCanvas Releases SuperSplat 3.0

SuperSplat 3.0 rewrites PlayCanvas's Gaussian splat editor on WebGPU only, removing the WebGL2 path, cutting peak memory, and adding sort-free Stochastic Alpha.

Michael Rubloff

XGRIDS Adds WebXR Support to the LCC Web SDK in v0.6.3

XGRIDS LCC Web SDK v0.6.3 adds WebXR support to its Three.js and Cesium renderer, bringing browser-based headset viewing to LCC and LCC2 Gaussian splat scenes.

Michael Rubloff

Sep 8, 2026

XGRIDS Adds WebXR Support to the LCC Web SDK in v0.6.3

XGRIDS LCC Web SDK v0.6.3 adds WebXR support to its Three.js and Cesium renderer, bringing browser-based headset viewing to LCC and LCC2 Gaussian splat scenes.

Michael Rubloff

Splat Box Editor for Unity Now Ships Full Source Code

Simulacrum's $199 Splat Box Editor for Unity now includes full source code, with PLY and SPZ import and export, real-time relighting, shadow mapping and SSAO.

Michael Rubloff

Sep 4, 2026

Splat Box Editor for Unity Now Ships Full Source Code

Simulacrum's $199 Splat Box Editor for Unity now includes full source code, with PLY and SPZ import and export, real-time relighting, shadow mapping and SSAO.

Michael Rubloff

Platforms

MipMap Desktop 3.2 Combines Aerial and Ground Capture

MipMap Desktop 3.2 adds air-ground data fusion without RTK or manual registration, multi-station laser-scanner fusion, and control over maximum Gaussian count.

Michael Rubloff

Sep 4, 2026

Platforms

MipMap Desktop 3.2 Combines Aerial and Ground Capture

MipMap Desktop 3.2 adds air-ground data fusion without RTK or manual registration, multi-station laser-scanner fusion, and control over maximum Gaussian count.

Michael Rubloff

Michael Rubloff

Written by Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

Email
Copy Link
Twitter
Linkedin
Reddit
Whatsapp

More from Michael Rubloff

More from Michael Rubloff

Platforms

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.

Michael Rubloff

Sep 9, 2026

three.js Gaussian Splatting

Platforms

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

Michael Rubloff

Sep 9, 2026

three.js Gaussian Splatting

Platforms

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.

Michael Rubloff

Sep 9, 2026

three.js Gaussian Splatting

Platforms

PlayCanvas Releases SuperSplat 3.0

SuperSplat 3.0 rewrites PlayCanvas's Gaussian splat editor on WebGPU only, removing the WebGL2 path, cutting peak memory, and adding sort-free Stochastic Alpha.

Michael Rubloff

Sep 8, 2026

Supersplat 3.0

Platforms

PlayCanvas Releases SuperSplat 3.0

Michael Rubloff

Sep 8, 2026

Supersplat 3.0

Platforms

PlayCanvas Releases SuperSplat 3.0

SuperSplat 3.0 rewrites PlayCanvas's Gaussian splat editor on WebGPU only, removing the WebGL2 path, cutting peak memory, and adding sort-free Stochastic Alpha.

Michael Rubloff

Sep 8, 2026

Supersplat 3.0

XGRIDS Adds WebXR Support to the LCC Web SDK in v0.6.3

XGRIDS LCC Web SDK v0.6.3 adds WebXR support to its Three.js and Cesium renderer, bringing browser-based headset viewing to LCC and LCC2 Gaussian splat scenes.

Michael Rubloff

Sep 8, 2026

XGRIDS

XGRIDS Adds WebXR Support to the LCC Web SDK in v0.6.3

Michael Rubloff

Sep 8, 2026

XGRIDS

XGRIDS Adds WebXR Support to the LCC Web SDK in v0.6.3

XGRIDS LCC Web SDK v0.6.3 adds WebXR support to its Three.js and Cesium renderer, bringing browser-based headset viewing to LCC and LCC2 Gaussian splat scenes.

Michael Rubloff

Sep 8, 2026

XGRIDS