Les nouveautés de l’add-on Gaussian Splatting
Plus rapide sur le GPU, davantage de formats et de meilleurs outils pour vos applications

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 :
- Compute shaders. Sur les plateformes qui les prennent en charge, comme DirectX 12, Vulkan, Metal et WebGPU, l’add-on traite désormais les splats sur le GPU avec des compute shaders avant de les dessiner.
- Plus rapide sur le web. Avec WebGPU, les navigateurs peuvent désormais eux aussi utiliser la voie compute, et le rendu est beaucoup plus rapide qu’auparavant.
- Optimisé pour chaque appareil. De nouvelles options ignorent les splats qui contribuent à peine à l’image et limitent la fréquence de retri des splats, ce qui évite la surchauffe des téléphones et préserve leur batterie.
- Davantage de formats. PLY non compressé, SPZ, KSplat, LCC et LCC2 rejoignent PLY compressé,
.splatet SOG. Le format est détecté automatiquement. - Sélection et segmentation. Les splats peuvent désormais être mis en surbrillance et colorés par groupes, par exemple pour afficher le résultat d’une segmentation par IA.
- Plus stable et plus léger. Chargement plus rapide, consommation mémoire réduite, erreurs de chargement explicites et nombreux correctifs.
- Un visualiseur web pour l’essayer. splat.evergine.com est un visualiseur développé avec l’add-on, dans lequel vous pouvez ouvrir vos propres modèles.
Dans cet article
- Un rendu plus rapide grâce aux compute shaders
- Optimisé pour chaque appareil
- Plus stable, plus léger et plus rapide à charger
- Davantage de formats, un seul pipeline
- Sélection et segmentation
- Prise en main
- Découvrez-le en action : notre visualiseur web
- Et ensuite ?
- Essayez-le et donnez-nous votre avis
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.
- Contribution minimale. Dans une capture, de nombreux splats sont si petits ou si transparents qu’ils modifient à peine l’image, et pourtant ils coûtent autant à dessiner. L’add-on peut désormais ignorer tous les splats dont la contribution à l’écran est inférieure à un seuil, ce qui réduit l’overdraw avec très peu de différence visible. Ce comportement est contrôlé par la propriété
MinContribution. - Intervalle de tri. Retrier des millions de splats à chaque frame n’est pas toujours nécessaire. La propriété
SortIntervalMsdéfinit un délai minimal entre deux tris : pendant que la caméra se déplace, l’ordre peut dater de quelques millisecondes, et il redevient correct dès que la caméra s’arrête. Cela ne modifie pas le frame rate, mais réduit la charge soutenue qui provoque le bridage des appareils mobiles.
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 :
- Chargement plus rapide. Les lecteurs de formats ont été retravaillés pour allouer moins de mémoire et charger les scènes plus rapidement.
- Consommation mémoire réduite. Les scènes nécessitent moins de mémoire, aussi bien pendant le chargement qu’une fois sur le GPU.
- Erreurs de chargement explicites. Si un fichier ne peut pas être lu, l’add-on en indique la raison au lieu d’échouer silencieusement.
- Des shaders mieux organisés. Le code partagé par les shaders de calcul et de dessin se trouve désormais dans une bibliothèque de shaders unique, ce qui facilite la maintenance et l’extension de l’add-on.
- .NET 10. L’add-on et ses exemples ont été mis à jour vers .NET 10, comme le reste d’Evergine.
- De nombreux correctifs, notamment pour le gamma, l’alpha blending et le rendu de points sur tous les backends.
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 :
| Format | Extension | Provenance | |
|---|---|---|---|
| PLY | .ply | Le code d’entraînement 3DGS d’origine et la plupart des outils d’entraînement | Nouveau |
| PLY compressé | .ply | PlayCanvas SuperSplat | |
| Splat | .splat | Premiers visualiseurs web | |
| SOG | .sog | PlayCanvas | Amélioré |
| SPZ | .spz | Niantic, utilisé par Scaniverse | Nouveau |
| KSplat | .ksplat | GaussianSplats3D | Nouveau |
| LCC | dossier | XGRIDS | Nouveau |
| LCC2 | dossier | XGRIDS | Nouveau |
Quelques précisions sur les nouveaux formats :
- PLY : jusqu’à présent, l’add-on ne lisait que les fichiers PLY compressés. Il lit désormais aussi le PLY non compressé, la sortie standard de la plupart des outils d’entraînement, en ASCII comme en binaire.
- SPZ est le format compressé que Niantic a publié comme format d’échange ouvert pour les Gaussian splats. La version 4 et les anciens fichiers gzip sont tous deux pris en charge.
- KSplat regroupe les splats dans des compartiments spatiaux et les quantifie avec plusieurs niveaux de compression.
- LCC et LCC2 sont les formats des scanners laser et caméra de XGRIDS, conçus pour les numérisations de grande taille. Il s’agit de dossiers plutôt que de fichiers uniques : LCC stocke plusieurs niveaux de détail dans une grille spatiale, et LCC2 découpe la scène en blocs stockés au format SOG ou SPZ.
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 :
- Sélection. Une texture de sélection indique quels splats sont sélectionnés, et le moteur de rendu les met en surbrillance avec une couleur de sélection. Une couleur d’aperçu montre ce qui est sur le point d’être sélectionné.
- Segmentation. Vous pouvez attribuer une étiquette à chaque splat et une couleur à chaque étiquette, et l’add-on affiche la scène colorée par segments. C’est une manière naturelle de présenter le résultat d’un modèle d’IA qui reconnaît des objets dans une capture : murs, machines, tuyaux ou véhicules, chacun dans sa propre couleur.
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.

Déposez un fichier ou un dossier sur la page, ou parcourez vos fichiers pour le sélectionner
Voici ses principales fonctionnalités :
- Ouvrez n’importe quel format pris en charge. Déposez un fichier ou un dossier sur la page, ou parcourez vos fichiers pour le sélectionner.
- WebGPU ou WebGL, choisi pour vous. Le visualiseur détecte ce que prend en charge votre navigateur et utilise WebGPU lorsqu’il est disponible, avec WebGL comme solution de repli.
- Une meilleure gestion de la caméra. Tournez autour d’un objet ou déplacez-vous librement dans une scène, cadrez le modèle en un clic et consultez les commandes souris, clavier et tactiles dans un panneau d’aide.
- Des outils pour inspecter un modèle. Ajustez sa position, sa rotation et son échelle, ou affichez le centre de chaque gaussienne pour vérifier la structure de la capture.
- Des outils de performance. Affichez le frame rate et un panneau de performance, et activez le mode High Performance sur les appareils modestes, comme les téléphones et les tablettes.

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, avec le panneau de performance à gauche

Afficher le centre de chaque gaussienne permet de vérifier la densité et la structure d’une capture
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 :
- Streaming. Charger et afficher une scène progressivement depuis le réseau, au lieu de télécharger l’intégralité du fichier avant d’afficher quoi que ce soit.
- Génération automatique de collisions. Générer des colliders à partir d’une capture, afin qu’elle puisse participer à la simulation physique et que les utilisateurs puissent marcher dessus ou interagir avec elle.
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.
- Consultez la documentation d’Evergine, dont la section Gaussian Splatting présente l’add-on en détail.
- Ouvrez vos propres modèles dans notre visualiseur web, sur splat.evergine.com.
- Lisez les articles précédents sur la prise en charge de SOG et de WebGPU et sur les améliorations antérieures de l’add-on.
- Vous avez trouvé un problème ou vous avez une idée ? Faites-le-nous savoir dans le dépôt de feedback d’Evergine.
Nous avons hâte de voir ce que vous allez capturer et de savoir quels formats ou fonctionnalités vous aimeriez voir ensuite.
