GaussianSplats3D, a Three.js Implementation of 3DGS

Michael Rubloff

Michael Rubloff

Jan 8, 2024

Email
Copy Link
Twitter
Linkedin
Reddit
Whatsapp
GaussianSplats3D
GaussianSplats3D

Mark Kellogg, a software engineer based out of Silicon Valley, had released GaussianSplats3D, a Three.js based renderer, late last year and has recently updated it.

This update adds the ability to apply real-time transformations to splat scenes. Prior to this release, splat scenes could have a custom transformation applied when the scene was added to the viewer, after which the scene had to remain static.Mark KelloggTweet

GaussianSplats3D will work with either a .ply file, but will also work with a .splat or a .ksplat file. There have been lots of conversations surrounding what a universal file type for .splat would look like across late last year. .ksplat is another trimmed down and compressed method, but is one of Kellogg's own creations. If you need a converter, Mark has also created a .PLY converter through his website.

The original inspiration for GaussianSplats3D stemmed from a desire to have gaussian splatting running natively on a web browser.

Of course since then we have also seen Luma AI announce the Luma Web Library, which also enables gaussian splatting on web. However, the big difference here is that you can train everything locally first (perhaps with nerfstudio) and then use the resulting .ply with three.js. GaussianSplats3D also comes with a full MIT license, so you can either build on top of it or deploy it as you need.

GaussianSplats3D's entire rendering process is powered by Three.js, coupled with modern ECMAScript modules for an efficient and web-standard-compliant codebase. It also comes with custom octree for splat culling, WASM SIMD instructions for sorting, and partially GPU-accelerated splat sorting.

While GaussianSplats3D is versatile, it acknowledges certain limitations like CPU-based splat sorting leading to artifacts and sub-optimal mobile performance. Future enhancements aim to address these issues and expand capabilities, including WebXR compatibility and support for large-scale scenes.

An online demo showcases the project's capabilities, complete with intuitive mouse and keyboard controls. For developers, the project offers detailed instructions for building from source, installing as an NPM package, and integrating into Three.js scenes.

Featured

Recents

Featured

Research

Radiant Foam: Radfoam

Another novel Radiance Field representation is here with interesting capabilities.

Michael Rubloff

Feb 3, 2025

Research

Radiant Foam: Radfoam

Another novel Radiance Field representation is here with interesting capabilities.

Michael Rubloff

Feb 3, 2025

Research

Radiant Foam: Radfoam

Another novel Radiance Field representation is here with interesting capabilities.

Michael Rubloff

Platforms

Postshot adds Blackwell GPU Support

Postshot's most recent update has brought Blackwell support to the platform.

Michael Rubloff

Jan 29, 2025

Platforms

Postshot adds Blackwell GPU Support

Postshot's most recent update has brought Blackwell support to the platform.

Michael Rubloff

Jan 29, 2025

Platforms

Postshot adds Blackwell GPU Support

Postshot's most recent update has brought Blackwell support to the platform.

Michael Rubloff

Platforms

Brush 0.2 for 3DGS Released

The newest release from Brush is here, making it easier than ever to train 3DGS on Mac and beyond!

Michael Rubloff

Jan 29, 2025

Platforms

Brush 0.2 for 3DGS Released

The newest release from Brush is here, making it easier than ever to train 3DGS on Mac and beyond!

Michael Rubloff

Jan 29, 2025

Platforms

Brush 0.2 for 3DGS Released

The newest release from Brush is here, making it easier than ever to train 3DGS on Mac and beyond!

Michael Rubloff

Research

LinPrim: Linear Primitives for Differentiable Volumetric Rendering

A new Radiance Field representation has been published by the Technical University of Munich.

Michael Rubloff

Jan 29, 2025

Research

LinPrim: Linear Primitives for Differentiable Volumetric Rendering

A new Radiance Field representation has been published by the Technical University of Munich.

Michael Rubloff

Jan 29, 2025

Research

LinPrim: Linear Primitives for Differentiable Volumetric Rendering

A new Radiance Field representation has been published by the Technical University of Munich.

Michael Rubloff