Gaussian Splatting Javascript Library gsplat.js Updated

Michael Rubloff

Michael Rubloff

Dec 19, 2023

Email
Copy Link
Twitter
Linkedin
Reddit
Whatsapp
gsplat.js
gsplat.js

Back in October, we looked at Dylan Ebert's 3DGS viewer, which quickly became a Gaussian Splatting Javascript library, gsplat.js, on Hugging Face. Yesterday, it got a big bump forwards with the release of Update 1.0.

🚀 Announcing gsplat.js - a JavaScript Gaussian Splatting Library - Update 1.0

🚄 Fast, real-time editing and intersection testing
🆎 Manipulate and compose scenes
🤗 Now an official Hugging Face project

Code: https://t.co/3Xjz5ZAv3q
Try the editor: https://t.co/s7hJjfQcps pic.twitter.com/WtWy7JApZt— dylan (@dylan_ebert_) December 18, 2023

In a example video, Ebert showcases how easy it is to import multiple Splats into the same scene and edit them with ease.

Here's a larger look at the updates:

Scene Class Overhaul

  • Object3D Integration: The Scene class has undergone a transformation, now incorporating Object3D objects. This change signifies a more unified and streamlined approach to 3D object management within the library.

  • Camera and Splat as Object3D Types: Camera and Splat are now subclasses of Object3D. They correspond to CameraData and SplatData, respectively, offering a more coherent structure.

  • Enhanced SplatData: SplatData has been enriched to include positions, rotations, scales, and colors. These elements were previously part of the scene representation, indicating a more integrated approach to handling splat attributes.

Renderer Enhancements

  • Simplified WebGLRenderer: The WebGLRenderer is now more user-friendly, featuring a modular list of shader programs. This simplification aids developers in navigating and utilizing the renderer more effectively.

  • ShaderProgram Class: A new class, ShaderProgram, encapsulates rendering logic, marking a significant advancement in rendering efficiency. This class includes the RenderProgram, dedicated to rendering splats.

  • DataWorker Introduction: The introduction of DataWorker for asynchronous data packing into a render texture is a game-changer. It facilitates more efficient rendering processes, allowing for smoother graphics and better performance.

Intersection Testing Improvements

  • IntersectionTester Class: The new IntersectionTester class offers a specialized tool for intersection testing, enhancing the library's capability in managing 3D object interactions.

  • Optimized SortWorker: The SortWorker now stores a 15x15 screen-space chunk ID for each point. This optimization drastically improves the speed and efficiency of intersection testing.

However, with all of these features, my favorite is still the Undo button. I've spent quite a bit of time editing my captures both on desktop and in VR and there are few things that are more frustrating than deleting a section and realizing that you need to start back again from a previous checkpoint.

Gsplat.js is available both as a Hugging Face Space, as well as on Github.

Ebert has made Gsplat.js entirely open source, with an MIT License. This decision opens the doors for collaborative development, encouraging others to enhance and build upon this groundwork.

Featured

Recents

Featured

Platforms

Into the Scaniverse: Scaniverse in VR

Scaniverse is now available on both the Quest 3 and 3S.

Michael Rubloff

Dec 10, 2024

Platforms

Into the Scaniverse: Scaniverse in VR

Scaniverse is now available on both the Quest 3 and 3S.

Michael Rubloff

Dec 10, 2024

Platforms

Into the Scaniverse: Scaniverse in VR

Scaniverse is now available on both the Quest 3 and 3S.

Michael Rubloff

Platforms

Reflct: Simple 3DGS Viewer for Ecommerce

The clean 3DGS viewer for Ecommerce with SH support has begun its closed beta.

Michael Rubloff

Dec 9, 2024

Platforms

Reflct: Simple 3DGS Viewer for Ecommerce

The clean 3DGS viewer for Ecommerce with SH support has begun its closed beta.

Michael Rubloff

Dec 9, 2024

Platforms

Reflct: Simple 3DGS Viewer for Ecommerce

The clean 3DGS viewer for Ecommerce with SH support has begun its closed beta.

Michael Rubloff

Research

3D Convex Splatting Radiance Field Rendering

3D Convex Splatting is another new way to render a Radiance Field. It is not Gaussian Splatting.

Michael Rubloff

Dec 6, 2024

Research

3D Convex Splatting Radiance Field Rendering

3D Convex Splatting is another new way to render a Radiance Field. It is not Gaussian Splatting.

Michael Rubloff

Dec 6, 2024

Research

3D Convex Splatting Radiance Field Rendering

3D Convex Splatting is another new way to render a Radiance Field. It is not Gaussian Splatting.

Michael Rubloff

Platforms

Frame Integrates Gaussian Splatting

Powered by Babylon.js, Frame now supports 3DGS imports.

Michael Rubloff

Dec 5, 2024

Platforms

Frame Integrates Gaussian Splatting

Powered by Babylon.js, Frame now supports 3DGS imports.

Michael Rubloff

Dec 5, 2024

Platforms

Frame Integrates Gaussian Splatting

Powered by Babylon.js, Frame now supports 3DGS imports.

Michael Rubloff