Neuigkeiten im Gaussian Splatting Add-on

Schneller auf der GPU, mehr Formate und bessere Werkzeuge für Ihre Anwendungen

Eine Gaussian-Splatting-Aufnahme der Römerbrücke von Carmona, gerendert mit dem Gaussian Splatting Add-on

3D Gaussian Splatting hat sich schnell zu einer der besten Methoden entwickelt, die reale Welt in eine 3D-Anwendung zu holen. Wenige Minuten Fotos oder Video genügen, um einen Ort oder ein Objekt mit fotografischer Detailtreue zu rekonstruieren, und Industrieteams setzen es zunehmend für digitale Zwillinge, Standortdokumentation, Inspektionen und immersive Schulungen ein.

Das Gaussian Splatting Add-on bringt diese Technik in Evergine-Anwendungen – auf den Desktop, auf Mobilgeräte und ins Web. In unserem Mai-Release haben wir das komprimierte SOG-Format und das Rendering mit WebGPU hinzugefügt. Seitdem haben wir das Add-on in zwei Richtungen weiter verbessert: Es ist schneller geworden, besonders im Web, und es liest die Dateien, die Sie bereits haben, unabhängig davon, mit welchem Tool sie erstellt wurden. Dabei hat es auch neue Funktionen für interaktive Anwendungen und eine sauberere, robustere interne Struktur erhalten.

Damit Sie diese Verbesserungen leicht nachvollziehen können, haben wir außerdem einen mit dem Add-on erstellten Web-Viewer veröffentlicht, in dem jeder eine Gaussian-Splatting-Datei ablegen und im Browser öffnen kann.

Kurz zusammengefasst:

In diesem Artikel

Schnelleres Rendering mit Compute Shadern

Um eine Gaussian-Splatting-Szene zu zeichnen, muss jeder Splat in jedem Frame auf den Bildschirm projiziert werden: Seine 3D-Form wird zu einer 2D-Ellipse, und seine Farbe wird für die aktuelle Blickrichtung ausgewertet. Bisher geschah dies im Vertex Shader und wurde für jeden Vertex jedes Splats wiederholt.

Auf Plattformen, die Compute Shader unterstützen, etwa DirectX 12, Vulkan, Metal und WebGPU, erledigt das Add-on diese Arbeit jetzt in einem Compute-Pass vor dem Zeichnen. Die Splat-Daten liegen in einem kompakten Layout auf der GPU, ein Compute Shader verarbeitet jeden Splat einmal pro Frame, und der Draw muss nur noch das Ergebnis lesen. Auch die Sortierung, durch die die Splats in der richtigen Reihenfolge überblendet werden, läuft auf der GPU. Dadurch wird die GPU besser ausgelastet, der Aufwand pro Frame sinkt und die CPU bleibt für den Rest der Anwendung frei.

WebGPU

Im Web stehen Compute Shader nur über WebGPU zur Verfügung. Das Add-on unterstützt WebGPU seit dem Mai-Release und nutzt dort jetzt auch den Compute-Pfad, sodass Szenen in Browsern mit WebGPU deutlich schneller gerendert werden. Dafür waren auch einige Änderungen am WebGPU-Backend von Evergine nötig.

WebGL wird als Fallback für Browser ohne WebGPU weiterhin unterstützt. Dort werden die Splats in einem Web Worker sortiert, sodass die Seite nicht blockiert.

Für jedes Gerät optimiert

Ein schneller GPU-Pfad ist nur die halbe Miete. Die andere Hälfte besteht darin, keine Arbeit zu leisten, die niemand sieht – das zählt vor allem auf Smartphones und Tablets, wo Wärmeentwicklung und Akkulaufzeit ebenso wichtig sind wie die Bildrate.

Beide sind reguläre Eigenschaften der Komponente GSplatMesh, sodass jede Anwendung ihr eigenes Gleichgewicht zwischen Qualität und Aufwand wählen oder es zur Laufzeit je nach Gerät anpassen kann.

Stabiler, schlanker und schneller geladen

Nicht jede Verbesserung ist auf dem Bildschirm sichtbar. Ein guter Teil der Arbeit floss in die Zuverlässigkeit des Add-ons:

Mehr Formate, eine Pipeline

3D Gaussian Splatting ist noch ein junges Feld, und viele Capture-Apps, Trainingstools und Web-Viewer verwenden ein eigenes Format. Manche setzen auf Einfachheit, andere auf Kompression, Streaming oder sehr große Szenen. Damit Sie die Dateien öffnen können, die Sie bereits haben, liest das Add-on jetzt die gängigsten Formate:

FormatErweiterungHerkunft
PLY.plyDer ursprüngliche 3DGS-Trainingscode und die meisten TrainingstoolsNeu
Komprimiertes PLY.plyPlayCanvas SuperSplat
Splat.splatFrühe Web-Viewer
SOG.sogPlayCanvasVerbessert
SPZ.spzNiantic, verwendet von ScaniverseNeu
KSplat.ksplatGaussianSplats3DNeu
LCCOrdnerXGRIDSNeu
LCC2OrdnerXGRIDSNeu

Einige Hinweise zu den neuen Formaten:

Sie müssen dem Add-on nicht mitteilen, welches Format eine Datei verwendet: Es erkennt es am Inhalt, nicht an der Dateierweiterung. Jeder Reader wandelt seine Eingabe in dieselbe interne Darstellung um, sodass jedes Format vom selben Rendering, derselben GPU-Pipeline und denselben Optionen profitiert.

Auswahl und Segmentierung

Splats können jetzt zusätzliche Informationen pro Splat tragen. Das eröffnet neue Möglichkeiten für interaktive Anwendungen:

Erste Schritte

Installieren Sie das Add-on Evergine.GaussianSplatting über den Add-ons Manager in Evergine Studio und ziehen Sie das Prefab GSplatPrefab in Ihre Szene. Oder erstellen Sie die Entität im 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);
    }
}

Das Add-on wählt auf Plattformen, die ihn unterstützen, selbstständig den Compute-Pfad, sodass derselbe Code überall läuft. Der Abschnitt zu Gaussian Splatting in der Evergine-Dokumentation erläutert jede Komponente sowie die zusätzlichen Schritte für Webprojekte.

In Aktion erleben: unser Web-Viewer

Damit jeder das Add-on einfach ausprobieren kann, haben wir unter splat.evergine.com einen Gaussian-Splatting-Viewer veröffentlicht. Es handelt sich um eine Beispielanwendung, die mit Evergine und dem Gaussian Splatting Add-on erstellt wurde, sodass alles, was in diesem Artikel beschrieben ist, dort läuft. Er ist kostenlos, läuft im Browser und erfordert keine Installation: Ziehen Sie ein Modell auf die Seite, und es wird geöffnet.

Der Web-Viewer, bereit, ein Modell per Drag & Drop zu empfangen

Legen Sie eine Datei oder einen Ordner auf der Seite ab oder wählen Sie sie über den Dateidialog aus

Das sind die wichtigsten Funktionen:

Das Panel für die Kamerasteuerung im Web-Viewer

Die Toolbar wechselt zwischen Orbit- und freier Kamera, rahmt das Modell ein und öffnet die Panels für Transformation und Optionen. Die Hilfe-Schaltfläche listet die Kamerasteuerung auf

Das Optionen-Panel und das Performance-Panel des Web-Viewers

Das Optionen-Panel, links das Performance-Panel

Die Mittelpunkte der Gaussians als Punkte über dem Modell

Die Anzeige der Mittelpunkte aller Gaussians hilft, Dichte und Struktur einer Aufnahme zu prüfen

Der Web-Viewer auf einem Smartphone

Der Viewer auf einem Smartphone mit Touch-Steuerung

Über die Demonstration der Möglichkeiten des Add-ons hinaus ist er ein praktisches Werkzeug für die tägliche Arbeit: um zu prüfen, ob ein Export korrekt geöffnet wird, zwei Versionen eines Scans zu vergleichen oder eine Aufnahme in einem Meeting zu zeigen, ohne ein Projekt vorbereiten zu müssen.

Wie es weitergeht

Gaussian Splatting entwickelt sich rasant, und wir werden weiterhin Unterstützung für neu aufkommende Formate und Techniken hinzufügen. Daran arbeiten wir unter anderem gerade:

Beides dient demselben Ziel: Gaussian-Splatting-Szenen sollen nicht nur etwas zum Anschauen sein, sondern etwas, mit dem Anwendungen interagieren können.

Probieren Sie es aus und sagen Sie uns Ihre Meinung

Diese Verbesserungen sind Teil des Evergine-Releases vom November 2026. Aktualisieren Sie Evergine, fügen Sie Ihrem Projekt das Gaussian Splatting Add-on hinzu und laden Sie Ihre Aufnahmen.

Wir sind gespannt auf Ihre Aufnahmen und darauf, welche Formate oder Funktionen Sie sich als Nächstes wünschen.

David Ávila
Autor
David Ávila
Plain Concepts Research