DirectXSplat Brings 3D Gaussian Splat Rendering to Direct3D 12 as an Embeddable C++ Library

DirectXSplat is a C++/Direct3D 12 library for rendering 3D Gaussian Splats in D3D12.

DirectXSplat is a C++/Direct3D 12 library for rendering 3D Gaussian Splats in D3D12.

Michael Rubloff

Michael Rubloff

Michael is the Founder and Managing Editor of Radiancefields.com

DirectXSplat

DirectXSplat is a C++/Direct3D 12 library that renders Gaussian Splatting scenes from inside a host D3D12 application. The caller supplies the D3D12 device, direct queue, command list, and submission fence, while the library records its splat passes into that command list and hands back a result. That makes it an integration target for existing Windows renderers and engines rather than a standalone viewer. The first tagged release, v0.1.0, landed May 25, 2026 under an MIT license.

The core dxsplat module loads PLY, SPZ, .splat, and SOG scenes plus LOD metadata, then handles upload, residency management, depth sorting, and frame rendering. Sorting runs on the GPU through the bundled GPUSorting package, which itself carries notices for incorporated radix sort work from AMD’s FidelityFX SDK, NVIDIA’s CUB, and Microsoft’s DirectStorage. HLSL compute and raster shaders live in a separate shaders module, and an appcommon layer of D3D12/Win32 helpers backs the examples without being required to embed the core. The renderer exposes a configuration block covering a residency budget in Gaussians, per frame upload caps, chunk target size, screen radius thresholds for two LOD tiers and culling, and GPU timing.

The frame context’s fence must be the same direct queue fence passed to the D3D12 context, the submission fence value must be a future value rather than an already completed one, and if the render result returns a valid upload sync point the direct queue has to wait on it before executing the command list. There is a defined device lost path. When a render call returns an error with submissionRequired set, work may already be recorded, so the caller must submit and signal or enter cleanup, and a NotifyDeviceLost call exists for failures after recording. Beyond static scenes, the library offers a mutation API, begin a mutation token, then add, update, remove, enable, or rescale individual uploaded chunks, and a GPU resource lease for exporting renderer owned buffers into external GPU work.

Six example targets ship with the repository, from an ImGui-based interactive viewer down to an offscreen capture that renders a scene to a PPM image, plus focused samples for scene updates, resource interop, and host D3D12 integration. CI builds the library, examples, CPU tests, and loader and security regressions, but the maintainer flags that hosted CI does not fully exercise the hardware D3D12 renderer path, so GPU tests need a local D3D12 machine before release. The project is consumed through CMake FetchContent or find_package and targets C++20.

Learn more on the DirectXSplat GitHub.

Thumbnail for Gaussian Splatting News episode 12

11:38

Watch · New every Monday

Splats Come to Fortnite, Nike Shoots in 4D, Splats on a Nintendo 3DS

Episode 12 · Nov 9, 2026

Epic’s UEFN 43.00 brings Gaussian splats into the Unreal Editor for Fortnite, importing PLY and SPZ files that render on every platform UEFN supports, mobile included.

Featured

Recents

Platforms

Tijerín Art Studio Rebuilds Quick GS Editor on Spark

Quick GS Editor is rebuilt on Spark, and a new Windows Pro edition adds local TripoSplat image-to-splat generation, an HDRI Reflect Engine and fluid simulation.

Michael Rubloff

Nov 9, 2026

Platforms

Tijerín Art Studio Rebuilds Quick GS Editor on Spark

Quick GS Editor is rebuilt on Spark, and a new Windows Pro edition adds local TripoSplat image-to-splat generation, an HDRI Reflect Engine and fluid simulation.

Michael Rubloff

Platforms

GSRhino Brings Gaussian Splats to Rhino 8 on Mac

GSRhino 0.1.0-beta.5 renders Gaussian splats in a Rhino 8 display mode on macOS, reads PLY, SPLAT and SPZ, and imports and exports OpenUSD splat scenes.

Michael Rubloff

Nov 8, 2026

Platforms

GSRhino Brings Gaussian Splats to Rhino 8 on Mac

GSRhino 0.1.0-beta.5 renders Gaussian splats in a Rhino 8 display mode on macOS, reads PLY, SPLAT and SPZ, and imports and exports OpenUSD splat scenes.

Michael Rubloff

Platforms

360 MCConverter V1.7.0 Reads Metashape Dense Point Clouds

360 MCConverter V1.7.0 can now read the dense point cloud from Agisoft Metashape, a change kotohibi ties to more stable 3DGS training in its paid Windows tool.

Michael Rubloff

Nov 8, 2026

Platforms

360 MCConverter V1.7.0 Reads Metashape Dense Point Clouds

360 MCConverter V1.7.0 can now read the dense point cloud from Agisoft Metashape, a change kotohibi ties to more stable 3DGS training in its paid Windows tool.

Michael Rubloff

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

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

Tijerín Art Studio Rebuilds Quick GS Editor on Spark

Quick GS Editor is rebuilt on Spark, and a new Windows Pro edition adds local TripoSplat image-to-splat generation, an HDRI Reflect Engine and fluid simulation.

Michael Rubloff

Nov 9, 2026

Quick GS Editor

Platforms

Tijerín Art Studio Rebuilds Quick GS Editor on Spark

Michael Rubloff

Nov 9, 2026

Quick GS Editor

Platforms

Tijerín Art Studio Rebuilds Quick GS Editor on Spark

Quick GS Editor is rebuilt on Spark, and a new Windows Pro edition adds local TripoSplat image-to-splat generation, an HDRI Reflect Engine and fluid simulation.

Michael Rubloff

Nov 9, 2026

Quick GS Editor

Platforms

GSRhino Brings Gaussian Splats to Rhino 8 on Mac

GSRhino 0.1.0-beta.5 renders Gaussian splats in a Rhino 8 display mode on macOS, reads PLY, SPLAT and SPZ, and imports and exports OpenUSD splat scenes.

Michael Rubloff

Nov 8, 2026

gaussian splatting Rhino

Platforms

GSRhino Brings Gaussian Splats to Rhino 8 on Mac

Michael Rubloff

Nov 8, 2026

gaussian splatting Rhino

Platforms

GSRhino Brings Gaussian Splats to Rhino 8 on Mac

GSRhino 0.1.0-beta.5 renders Gaussian splats in a Rhino 8 display mode on macOS, reads PLY, SPLAT and SPZ, and imports and exports OpenUSD splat scenes.

Michael Rubloff

Nov 8, 2026

gaussian splatting Rhino

Platforms

360 MCConverter V1.7.0 Reads Metashape Dense Point Clouds

360 MCConverter V1.7.0 can now read the dense point cloud from Agisoft Metashape, a change kotohibi ties to more stable 3DGS training in its paid Windows tool.

Michael Rubloff

Nov 8, 2026

360 Converter

Platforms

360 MCConverter V1.7.0 Reads Metashape Dense Point Clouds

Michael Rubloff

Nov 8, 2026

360 Converter

Platforms

360 MCConverter V1.7.0 Reads Metashape Dense Point Clouds

360 MCConverter V1.7.0 can now read the dense point cloud from Agisoft Metashape, a change kotohibi ties to more stable 3DGS training in its paid Windows tool.

Michael Rubloff

Nov 8, 2026

360 Converter

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.