luma.gl 9.4.0 Beta Adds a GPU Gaussian Splat Renderer

vis.gl publishes @luma.gl/splats as a 9.4.0 beta, a GPU-native Gaussian splat renderer with WebGPU hierarchy traversal, bounded residency, and Spark RAD paging.

vis.gl publishes @luma.gl/splats as a 9.4.0 beta, a GPU-native Gaussian splat renderer with WebGPU hierarchy traversal, bounded residency, and Spark RAD paging.

Michael Rubloff

Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

luma.gl

vis.gl has published @luma.gl/splats, an experimental GPU-native gaussian splat rendering module, to npm as a 9.4.0 beta.

luma.gl is the WebGL and WebGPU rendering library that deck.gl is built on. This is not related to the cloud based reconstruction platform, Luma AI. The modules/splats directory first landed in on 4 August 2026, and the package reached npm on 21 August as 9.4.0-beta.1, followed by 9.4.0-beta.2 roughly two hours later. Both GitHub releases are tagged prerelease, and the stable luma.gl line remains 9.3.6.

The module owns prepared splat data, directional spherical harmonics, semantic filtering, GPU picking, hierarchy traversal, bounded residency, covariance projection, depth ordering and render models without depending on Apache Arrow, loaders.gl, glTF packages or deck.gl. The graph renderer, GPU ordering, hierarchy traversal and storage backed features require WebGPU, and SplatRenderer's prepared path is the WebGL 2 fallback.

makeGPUSplatDataFromGLTF and loadGPUSplatDataFromGLTF consume decoded glTF primitives declaring KHR_gaussian_splatting, validating POINTS primitives, ellipse kernel, color space, projection and sorting method, converting glTF XYZW quaternions to renderer WXYZ order, and packing degree one through degree three RGB coefficient bands. Authored EXT_mesh_features identifiers become stable source semantic IDs. Compressed KHR_gaussian_splatting_compression_spz_2 payloads go to a caller owned decoder, and the documentation states that the renderer does not parse SPZ or fetch 3D Tiles itself. three.js merged its own native splat renderer for r186 and subsequently added SH support.

SplatResidencyManager budgets on maxGpuBytes, maxResidentSplats and maxResidentChunks, displaces lower priority chunks before falling back to least recently used eviction, supports pinning, and never repacks or concatenates GPU buffers. SplatHierarchyManager exposes maximumScreenSpaceError, maxConcurrentLoads and a foveation center, radius and strength, culls bounding spheres conservatively, and cancels requests that leave the current view. SplatRADHierarchyManager and GPUPagedSplatRenderer implement Spark's RAD row-level hierarchies at a pageSize of 65,536, preserving page-local childCounts and source-global childStarts alongside lodSplatScale, lodRenderScale, lodOpacity and coneFov0 controls.

The interactive viewer streams the 750K train capture, with Truck, Dr Johnson and Playroom in the same catalog, and the showcase reads ply, splat, ksplat, spz and rad. Its default residency window retains at most one million original source rows, tunable through a residentSplats URL parameter. RAD chunk decoding runs in a bounded module-worker pool that serializes to transferable Arrow IPC, with an explicit main-thread fallback.

End to end Gaussian 3D Tiles are not finished. The missing pieces are currently the loader owned KHR runtime handlers, SPZ v2 decoding and per-page model transforms, where Gaussian splat 3D Tiles carry an XL cost estimate on the watch list.

@luma.gl/splats is MIT licensed and open source. It installs with yarn add @luma.gl/splats.

You can learn more here.

Featured

Recents

Platforms

Niantic Spatial Launches the Places Library of 100 Simulation-Ready Real-World Environments

Niantic Spatial launches the Places Library, 100 real-world environments shipped as USDZ packages pairing a Gaussian splat with a collision mesh for Isaac Sim.

Michael Rubloff

Oct 4, 2026

Platforms

Niantic Spatial Launches the Places Library of 100 Simulation-Ready Real-World Environments

Niantic Spatial launches the Places Library, 100 real-world environments shipped as USDZ packages pairing a Gaussian splat with a collision mesh for Isaac Sim.

Michael Rubloff

Platforms

Ronski Adds Source Trimming and Keyframe Extraction to 360 Splat Pro v1.5.0

360 Splat Pro v1.5.0 adds Trim Source in and out points and a fast Keyframes extraction mode, and fixes a sharp frames search window that reached seconds away.

Michael Rubloff

Oct 3, 2026

Platforms

Ronski Adds Source Trimming and Keyframe Extraction to 360 Splat Pro v1.5.0

360 Splat Pro v1.5.0 adds Trim Source in and out points and a fast Keyframes extraction mode, and fixes a sharp frames search window that reached seconds away.

Michael Rubloff

Platforms

PlayCanvas Speeds Up SOG Compression and Fixes PLY Reading in splat-transform v3.9.0

PlayCanvas splat-transform v3.9.0 speeds up GPU k-means for SOG compression on devices without shader-f16 and decodes big-endian PLY while rejecting ASCII.

Michael Rubloff

Oct 3, 2026

Platforms

PlayCanvas Speeds Up SOG Compression and Fixes PLY Reading in splat-transform v3.9.0

PlayCanvas splat-transform v3.9.0 speeds up GPU k-means for SOG compression on devices without shader-f16 and decodes big-endian PLY while rejecting ASCII.

Michael Rubloff

Platforms

Gaussian Splat Patch Brings Clone Stamp and Healing Brushes to Gaussian Splats in Blender

Gaussian Splat Patch is a free Blender 5.3 extension that erases, clone stamps and heals Gaussian splat scans, with hole bridging and non-destructive Restore.

Michael Rubloff

Oct 3, 2026

Platforms

Gaussian Splat Patch Brings Clone Stamp and Healing Brushes to Gaussian Splats in Blender

Gaussian Splat Patch is a free Blender 5.3 extension that erases, clone stamps and heals Gaussian splat scans, with hole bridging and non-destructive Restore.

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

Niantic Spatial Launches the Places Library of 100 Simulation-Ready Real-World Environments

Niantic Spatial launches the Places Library, 100 real-world environments shipped as USDZ packages pairing a Gaussian splat with a collision mesh for Isaac Sim.

Michael Rubloff

Oct 4, 2026

Niantic Spatial

Platforms

Niantic Spatial Launches the Places Library of 100 Simulation-Ready Real-World Environments

Michael Rubloff

Oct 4, 2026

Niantic Spatial

Platforms

Niantic Spatial Launches the Places Library of 100 Simulation-Ready Real-World Environments

Niantic Spatial launches the Places Library, 100 real-world environments shipped as USDZ packages pairing a Gaussian splat with a collision mesh for Isaac Sim.

Michael Rubloff

Oct 4, 2026

Niantic Spatial

Platforms

Ronski Adds Source Trimming and Keyframe Extraction to 360 Splat Pro v1.5.0

360 Splat Pro v1.5.0 adds Trim Source in and out points and a fast Keyframes extraction mode, and fixes a sharp frames search window that reached seconds away.

Michael Rubloff

Oct 3, 2026

360 Splat Pro

Platforms

Ronski Adds Source Trimming and Keyframe Extraction to 360 Splat Pro v1.5.0

Michael Rubloff

Oct 3, 2026

360 Splat Pro

Platforms

Ronski Adds Source Trimming and Keyframe Extraction to 360 Splat Pro v1.5.0

360 Splat Pro v1.5.0 adds Trim Source in and out points and a fast Keyframes extraction mode, and fixes a sharp frames search window that reached seconds away.

Michael Rubloff

Oct 3, 2026

360 Splat Pro

Platforms

PlayCanvas Speeds Up SOG Compression and Fixes PLY Reading in splat-transform v3.9.0

PlayCanvas splat-transform v3.9.0 speeds up GPU k-means for SOG compression on devices without shader-f16 and decodes big-endian PLY while rejecting ASCII.

Michael Rubloff

Oct 3, 2026

PlayCanvas

Platforms

PlayCanvas Speeds Up SOG Compression and Fixes PLY Reading in splat-transform v3.9.0

Michael Rubloff

Oct 3, 2026

PlayCanvas

Platforms

PlayCanvas Speeds Up SOG Compression and Fixes PLY Reading in splat-transform v3.9.0

PlayCanvas splat-transform v3.9.0 speeds up GPU k-means for SOG compression on devices without shader-f16 and decodes big-endian PLY while rejecting ASCII.

Michael Rubloff

Oct 3, 2026

PlayCanvas

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.