MetalSplat v0.3.0 Trains 3DGS and 2DGS on Apple Silicon

MetalSplat v0.3.0 trains 3D and 2D Gaussian splatting on Apple Silicon through PyTorch and hand-written Metal kernels, and aligns training with reference code.

MetalSplat v0.3.0 trains 3D and 2D Gaussian splatting on Apple Silicon through PyTorch and hand-written Metal kernels, and aligns training with reference code.

Michael Rubloff

Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

Miris

Thibaut Chauffier has released MetalSplat v0.3.0, an MIT licensed differentiable rasterizer for training Gaussian splats on Apple Silicon.

MetalSplat follows the architecture of gsplat, which the nerfstudio team introduced in 2023, with hand written Metal compute kernels standing in for its CUDA kernels on the PyTorch MPS backend. The kernels are Metal Shading Language source compiled at runtime through torch.mps.compile_shader, so there is no Xcode toolchain or native build step. On the Mac, OpenSplat added MPS acceleration to its trainer in 2024. MetalSplat stays inside Python, exposing GaussianModel, Camera, and render as a differentiable API, and every Metal stage has a pure PyTorch twin that the tests use as the gradient oracle.

The 3DGS pipeline supports spherical harmonics up to degree 3, the Mip-Splatting 3D filter, AbsGS style densification, SparseAdam, COLMAP loading through pycolmap, and standard PLY import and export. Version 0.2.0 added a parallel 2DGS pipeline, Gaussian2DModel and render_2dgs, which intersects each pixel's ray with the flat splat exactly and outputs differentiable depth and normals, trained with depth distortion and normal consistency regularizers.

MetalSplat v0.3.0 consists of a single merged pull request that fixes bugs Chauffier found in two reviews of the codebase and aligns training with the reference 3DGS, Mip-Splatting, and 2DGS implementations. Opacity resets had kept stale Adam moments, which let densification cull about 76% of a 2DGS model, and the 3D filter was about 2.2x too narrow. On the garden scene at 4,000 steps, held out PSNR for 2DGS rose from 22.79 to 24.06 dB, a gain Chauffier says is mostly recovery from the opacity reset collapse. The 3DGS figure rose to 24.05 dB from a 21.84 dB baseline that Chauffier calls approximate because it comes from an older log. 2DGS rendering dropped from 14.1 to 6.9 ms per view, and the test suite grew from 251 to 321 tests.

Only undistorted PINHOLE and SIMPLE_PINHOLE cameras are supported, and the 2DGS pipeline does not yet extract meshes. MetalSplat is a separate project from MetalSplatter, Sean Cier's Swift and Metal splat renderer for iOS, macOS and visionOS.

It is available now on GitHub.

Featured

Recents

Platforms

SHARE PointClouds Studio V2.7 Turns Point Clouds Into Meshes and 3DGS Enhancements

SHARE PointClouds Studio V2.7 adds mesh generation from point clouds in 3D Tiles, OSGB, GLB, and PLY, improves 3DGS model quality, and extends cropping to 3DGS.

Michael Rubloff

Oct 20, 2026

Platforms

SHARE PointClouds Studio V2.7 Turns Point Clouds Into Meshes and 3DGS Enhancements

SHARE PointClouds Studio V2.7 adds mesh generation from point clouds in 3D Tiles, OSGB, GLB, and PLY, improves 3DGS model quality, and extends cropping to 3DGS.

Michael Rubloff

Platforms

StorySplat 2.5 Adds Many Gaussian Splatting Capabilities.

StorySplat 2.5 adds splat-built clouds, light shadows the scan can block, a larger Splat Editor and a beta Scene Agent that browser AI agents drive via WebMCP.

Michael Rubloff

Oct 20, 2026

Platforms

StorySplat 2.5 Adds Many Gaussian Splatting Capabilities.

StorySplat 2.5 adds splat-built clouds, light shadows the scan can block, a larger Splat Editor and a beta Scene Agent that browser AI agents drive via WebMCP.

Michael Rubloff

Platforms

World Labs' Spark 2.4.0 Reads SPZ v4 Files and Lets Developers Supply Their Own Paged LoD Fetcher

Spark 2.4.0 adds SPZ v4 read support to World Labs' three.js Gaussian splatting renderer and lets developers supply custom chunk fetchers for paged LoD.

Michael Rubloff

Oct 20, 2026

Platforms

World Labs' Spark 2.4.0 Reads SPZ v4 Files and Lets Developers Supply Their Own Paged LoD Fetcher

Spark 2.4.0 adds SPZ v4 read support to World Labs' three.js Gaussian splatting renderer and lets developers supply custom chunk fetchers for paged LoD.

Michael Rubloff

Platforms

Gaussian Splat Patch Merges Splat Objects and Bakes Edits Permanently in Blender

Gaussian Splat Patch v0.1.15 adds Merge Splat Objects and Bake Edits to Blender, combining several splat models into one PLY and making erasures permanent.

Michael Rubloff

Oct 20, 2026

Platforms

Gaussian Splat Patch Merges Splat Objects and Bakes Edits Permanently in Blender

Gaussian Splat Patch v0.1.15 adds Merge Splat Objects and Bake Edits to Blender, combining several splat models into one PLY and making erasures permanent.

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

SHARE PointClouds Studio V2.7 Turns Point Clouds Into Meshes and 3DGS Enhancements

SHARE PointClouds Studio V2.7 adds mesh generation from point clouds in 3D Tiles, OSGB, GLB, and PLY, improves 3DGS model quality, and extends cropping to 3DGS.

Michael Rubloff

Oct 20, 2026

SHARE 3DGS

Platforms

SHARE PointClouds Studio V2.7 Turns Point Clouds Into Meshes and 3DGS Enhancements

Michael Rubloff

Oct 20, 2026

SHARE 3DGS

Platforms

SHARE PointClouds Studio V2.7 Turns Point Clouds Into Meshes and 3DGS Enhancements

SHARE PointClouds Studio V2.7 adds mesh generation from point clouds in 3D Tiles, OSGB, GLB, and PLY, improves 3DGS model quality, and extends cropping to 3DGS.

Michael Rubloff

Oct 20, 2026

SHARE 3DGS

Platforms

StorySplat 2.5 Adds Many Gaussian Splatting Capabilities.

StorySplat 2.5 adds splat-built clouds, light shadows the scan can block, a larger Splat Editor and a beta Scene Agent that browser AI agents drive via WebMCP.

Michael Rubloff

Oct 20, 2026

StorySplat

Platforms

StorySplat 2.5 Adds Many Gaussian Splatting Capabilities.

Michael Rubloff

Oct 20, 2026

StorySplat

Platforms

StorySplat 2.5 Adds Many Gaussian Splatting Capabilities.

StorySplat 2.5 adds splat-built clouds, light shadows the scan can block, a larger Splat Editor and a beta Scene Agent that browser AI agents drive via WebMCP.

Michael Rubloff

Oct 20, 2026

StorySplat

Platforms

World Labs' Spark 2.4.0 Reads SPZ v4 Files and Lets Developers Supply Their Own Paged LoD Fetcher

Spark 2.4.0 adds SPZ v4 read support to World Labs' three.js Gaussian splatting renderer and lets developers supply custom chunk fetchers for paged LoD.

Michael Rubloff

Oct 20, 2026

World Labs Spark

Platforms

World Labs' Spark 2.4.0 Reads SPZ v4 Files and Lets Developers Supply Their Own Paged LoD Fetcher

Michael Rubloff

Oct 20, 2026

World Labs Spark

Platforms

World Labs' Spark 2.4.0 Reads SPZ v4 Files and Lets Developers Supply Their Own Paged LoD Fetcher

Spark 2.4.0 adds SPZ v4 read support to World Labs' three.js Gaussian splatting renderer and lets developers supply custom chunk fetchers for paged LoD.

Michael Rubloff

Oct 20, 2026

World Labs Spark

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.