Les nouveautés de l’add-on Gaussian Splatting

Plus rapide sur le GPU, davantage de formats et de meilleurs outils pour vos applications

Une capture Gaussian Splatting du pont romain de Carmona, rendue avec l’add-on Gaussian Splatting

Le 3D Gaussian Splatting s’est rapidement imposé comme l’un des meilleurs moyens d’intégrer le monde réel dans une application 3D. Quelques minutes de photos ou de vidéo suffisent pour reconstruire un lieu ou un objet avec un niveau de détail photographique, et les équipes industrielles l’utilisent de plus en plus pour les jumeaux numériques, la documentation de sites, les inspections et la formation immersive.

L’add-on Gaussian Splatting apporte cette technique aux applications Evergine, sur desktop, sur mobile et sur le web. Dans notre release de mai, nous lui avons ajouté le format compressé SOG et le rendu WebGPU. Depuis, nous avons continué à améliorer l’add-on dans deux directions : le rendre plus rapide, en particulier sur le web, et lui permettre de lire les fichiers dont vous disposez déjà, quel que soit l’outil qui les a produits. En chemin, il a également gagné de nouvelles fonctionnalités pour les applications interactives ainsi qu’une organisation interne plus claire et plus robuste.

Pour que ces améliorations soient faciles à découvrir, nous avons également publié un visualiseur web développé avec l’add-on, dans lequel chacun peut déposer un fichier Gaussian Splatting et l’ouvrir dans le navigateur.

En bref :

Dans cet article

Un rendu plus rapide grâce aux compute shaders

Pour dessiner une scène Gaussian Splatting, chaque splat doit être projeté à l’écran à chaque frame : sa forme 3D devient une ellipse 2D, et sa couleur est évaluée pour la direction de vue courante. Jusqu’à présent, ce travail était effectué dans le vertex shader et répété pour chaque sommet de chaque splat.

Sur les plateformes qui prennent en charge les compute shaders, comme DirectX 12, Vulkan, Metal et WebGPU, l’add-on effectue désormais ce travail dans une passe de calcul avant le dessin. Les données des splats sont stockées sur le GPU dans une disposition compacte, un compute shader traite chaque splat une fois par frame, et le dessin n’a plus qu’à lire le résultat. Le tri qui permet de mélanger les splats dans le bon ordre s’exécute lui aussi sur le GPU. Le GPU est ainsi mieux exploité, le travail par frame diminue et le CPU reste disponible pour le reste de l’application.

WebGPU

Sur le web, les compute shaders ne sont disponibles que via WebGPU. L’add-on prend en charge WebGPU depuis la release de mai, et il y utilise désormais aussi la voie compute : les scènes s’affichent donc beaucoup plus rapidement dans les navigateurs compatibles WebGPU. Cela a également nécessité quelques modifications dans le backend WebGPU d’Evergine.

WebGL reste pris en charge comme solution de repli pour les navigateurs sans WebGPU. Dans ce cas, les splats sont triés dans un web worker, afin que la page ne se bloque pas.

Optimisé pour chaque appareil

Une voie GPU rapide ne représente que la moitié du travail. L’autre moitié consiste à ne pas effectuer de travail que personne ne verra, ce qui compte surtout sur les téléphones et les tablettes, où la chauffe et la batterie sont aussi importantes que le frame rate.

Ces deux options sont des propriétés classiques du composant GSplatMesh : chaque application peut ainsi choisir son propre équilibre entre qualité et coût, ou le modifier à l’exécution selon l’appareil.

Plus stable, plus léger et plus rapide à charger

Toutes les améliorations ne sont pas visibles à l’écran. Une bonne partie du travail a consisté à rendre l’add-on plus fiable :

Davantage de formats, un seul pipeline

Le 3D Gaussian Splatting est encore un domaine jeune, et de nombreuses applications de capture, outils d’entraînement et visualiseurs web utilisent leur propre format. Certains privilégient la simplicité, d’autres la compression, le streaming ou les très grandes scènes. Pour ouvrir les fichiers dont vous disposez déjà, l’add-on lit désormais les formats les plus courants :

FormatExtensionProvenance
PLY.plyLe code d’entraînement 3DGS d’origine et la plupart des outils d’entraînementNouveau
PLY compressé.plyPlayCanvas SuperSplat
Splat.splatPremiers visualiseurs web
SOG.sogPlayCanvasAmélioré
SPZ.spzNiantic, utilisé par ScaniverseNouveau
KSplat.ksplatGaussianSplats3DNouveau
LCCdossierXGRIDSNouveau
LCC2dossierXGRIDSNouveau

Quelques précisions sur les nouveaux formats :

Vous n’avez pas besoin d’indiquer à l’add-on le format d’un fichier : il le détecte à partir de son contenu, et non de son extension. Chaque lecteur convertit ses données d’entrée dans la même représentation interne, si bien que tous les formats bénéficient du même rendu, du même pipeline GPU et des mêmes options.

Sélection et segmentation

Les splats peuvent désormais porter des informations supplémentaires, ce qui ouvre la voie à des applications interactives :

Prise en main

Installez l’add-on Evergine.GaussianSplatting depuis l’Add-ons Manager d’Evergine Studio, puis faites glisser le prefab GSplatPrefab dans votre scène. Vous pouvez aussi créer l’entité depuis le 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);
    }
}

L’add-on choisit lui-même la voie compute sur les plateformes qui la prennent en charge : le même code fonctionne donc partout. La section Gaussian Splatting de la documentation d’Evergine décrit chaque composant ainsi que les étapes supplémentaires pour les projets web.

Découvrez-le en action : notre visualiseur web

Pour que chacun puisse essayer facilement l’add-on, nous avons publié un visualiseur Gaussian Splatting sur splat.evergine.com. Il s’agit d’une application d’exemple développée avec Evergine et l’add-on Gaussian Splatting : tout ce qui est décrit dans cet article y est donc à l’œuvre. Il est gratuit, fonctionne dans le navigateur et ne nécessite aucune installation : faites glisser un modèle sur la page et il s’ouvre.

Le visualiseur web, prêt à recevoir un modèle par glisser-déposer

Déposez un fichier ou un dossier sur la page, ou parcourez vos fichiers pour le sélectionner

Voici ses principales fonctionnalités :

Le panneau des commandes de caméra du visualiseur web

La barre d’outils permet de basculer entre la caméra orbitale et la caméra libre, de cadrer le modèle et d’ouvrir les panneaux de transformation et d’options. Le bouton d’aide liste les commandes de la caméra

Le panneau d’options et le panneau de performance du visualiseur web

Le panneau d’options, avec le panneau de performance à gauche

Les centres des gaussiennes dessinés sous forme de points sur le modèle

Afficher le centre de chaque gaussienne permet de vérifier la densité et la structure d’une capture

Le visualiseur web sur un téléphone

Le visualiseur sur un téléphone, avec les commandes tactiles

En plus de montrer ce dont l’add-on est capable, c’est un outil pratique pour le travail quotidien : vérifier qu’un export s’ouvre correctement, comparer deux versions d’une numérisation ou présenter une capture en réunion sans préparer de projet.

Et ensuite ?

Le Gaussian Splatting évolue rapidement, et nous continuerons d’ajouter la prise en charge des nouveaux formats et des nouvelles techniques qui apparaissent. Voici quelques-uns des sujets sur lesquels nous travaillons actuellement :

Ces deux chantiers poursuivent le même objectif : faire des scènes Gaussian Splatting non plus seulement quelque chose à regarder, mais quelque chose avec quoi les applications peuvent interagir.

Essayez-le et donnez-nous votre avis

Ces améliorations font partie de la release de novembre 2026 d’Evergine. Mettez à jour Evergine, ajoutez l’add-on Gaussian Splatting à votre projet et chargez vos captures.

Nous avons hâte de voir ce que vous allez capturer et de savoir quels formats ou fonctionnalités vous aimeriez voir ensuite.

David Ávila
Auteur
David Ávila
Plain Concepts Research