What’s New in the Gaussian Splatting Add-on

Faster on the GPU, more formats and better tools for your applications

A Gaussian Splatting capture of the Roman bridge of Carmona, rendered with the Gaussian Splatting add-on

3D Gaussian Splatting has quickly become one of the best ways to bring the real world into a 3D application. A few minutes of photos or video are enough to rebuild a place or an object with photographic detail, and industrial teams use it more and more for digital twins, site documentation, inspections and immersive training.

The Gaussian Splatting add-on brings this technique to Evergine applications, on the desktop, on mobile and on the web. In our May release we added the compressed SOG format and WebGPU rendering to it. Since then we have kept improving the add-on in two directions: making it faster, especially on the web, and making it read the files you already have, whatever tool produced them. Along the way it has also gained new features for interactive applications and a cleaner, sturdier internal organization.

To make it easy to see these improvements, we have also published a web viewer built with the add-on, where anyone can drop a Gaussian Splatting file and open it in the browser.

In short:

In this article

Faster rendering with compute shaders

To draw a Gaussian Splatting scene, every splat has to be projected onto the screen each frame: its 3D shape becomes a 2D ellipse, and its color is evaluated for the current viewing direction. Until now, this work was done in the vertex shader and repeated for every vertex of every splat.

On platforms that support compute shaders, such as DirectX 12, Vulkan, Metal and WebGPU, the add-on now does this work in a compute pass before drawing. The splat data is stored on the GPU in a compact layout, a compute shader processes each splat once per frame, and the draw only has to read the result. The sorting that blends the splats in the right order also runs on the GPU. This makes better use of the GPU, reduces the work per frame and leaves the CPU free for the rest of the application.

WebGPU

On the web, compute shaders are only available through WebGPU. The add-on has supported WebGPU since the May release, and now it also uses the compute path there, so scenes render much faster in browsers with WebGPU. This also required some changes in the Evergine WebGPU backend.

WebGL is still supported as a fallback for browsers without WebGPU. There, the splats are sorted in a web worker, so the page does not block.

Tuned for every device

A fast GPU path is half of the story. The other half is not doing work that nobody will see, which matters most on phones and tablets, where heat and battery are as important as frame rate.

Both are regular properties of the GSplatMesh component, so each application can choose its own balance between quality and cost, or change it at runtime depending on the device.

More stable, lighter and faster to load

Not every improvement is visible on screen. A good part of the work has gone into making the add-on more reliable:

More formats, one pipeline

3D Gaussian Splatting is still a young field, and many capture apps, training tools and web viewers use their own format. Some favor simplicity, others compression, streaming or very large scenes. To open the files you already have, the add-on now reads the most common formats:

FormatExtensionComes from
PLY.plyThe original 3DGS training code and most training toolsNew
Compressed PLY.plyPlayCanvas SuperSplat
Splat.splatEarly web viewers
SOG.sogPlayCanvasImproved
SPZ.spzNiantic, used by ScaniverseNew
KSplat.ksplatGaussianSplats3DNew
LCCfolderXGRIDSNew
LCC2folderXGRIDSNew

A few notes on the new ones:

You do not need to tell the add-on which format a file uses: it detects it from the content, not from the extension. Each reader converts its input into the same internal representation, so every format benefits from the same rendering, the same GPU pipeline and the same options.

Selection and segmentation

Splats can now carry extra information per splat, which opens the door to interactive applications:

Getting started

Install the Evergine.GaussianSplatting add-on from the Add-ons Manager in Evergine Studio, and drag the GSplatPrefab prefab into your scene. Or create the entity from code:

using Evergine.Framework;
using Evergine.Framework.Graphics;
using Evergine.GaussianSplatting;

public class MyScene : Scene
{
    protected override void CreateScene()
    {
        var gaussianSplatting = new Entity("GaussianSplatting")
            .AddComponent(new Transform3D())
            .AddComponent(new GSplatMesh()
            {
                // Any supported format: .ply, .splat, .sog, .spz, .ksplat or an LCC folder
                SplatPath = "Splats/warehouse.spz",

                // Optional: skip splats that barely contribute to the image
                MinContribution = 0.15f,

                // Optional: re-sort at most every 150 ms
                SortIntervalMs = 150,
            })
            .AddComponent(new GSplatRenderer());

        this.Managers.EntityManager.Add(gaussianSplatting);
    }
}

The add-on chooses the compute path by itself on the platforms that support it, so the same code runs everywhere. The Gaussian Splatting section of the Evergine documentation explains every component and the extra steps for web projects.

See it in action: our web viewer

To make it easy for anyone to try the add-on, we have published a Gaussian Splatting viewer at splat.evergine.com. It is an example application built with Evergine and the Gaussian Splatting add-on, so everything described in this article is running there. It is free, it runs in the browser and there is nothing to install: drag a model onto the page and it opens.

The web viewer, ready to receive a model by drag and drop

Drop a file or a folder onto the page, or browse for it

These are its main features:

The camera controls panel of the web viewer

The toolbar switches between the orbit and free cameras, frames the model and opens the transform and options panels. The help button lists the camera controls

The options panel and the performance panel of the web viewer

The options panel, with the performance panel on the left

The centers of the Gaussians drawn as points over the model

Showing the center of every Gaussian helps to check the density and the structure of a capture

The web viewer on a phone

The viewer on a phone, with touch controls

Besides showing what the add-on can do, it is a handy tool for everyday work: checking that an export opened correctly, comparing two versions of a scan, or showing a capture in a meeting without preparing a project.

What’s next

Gaussian Splatting is evolving fast, and we will keep adding support for the new formats and techniques that appear. These are some of the things we are working on now:

Both aim at the same goal: making Gaussian Splatting scenes not only something to look at, but something applications can interact with.

Try it and tell us what you think

These improvements are part of the November 2026 release of Evergine. Update Evergine, add the Gaussian Splatting add-on to your project and load your captures.

We’d love to see what you capture, and to hear which formats or features you would like next.

David Ávila
Author
David Ávila
Plain Concepts Research