Renderu.com
10.2 KEinträge in Kategorien einteilen
68.3 KFollower
34.3 MBesuche
Alex Rowan

Gaussian-Splat-Editor SuperSplat 3.0 auf WebGPU neu geschrieben und im Leerlauf mit fast 15-mal weniger Speicherbedarf

Soft

PlayCanvas hat SuperSplat Editor 3.0 veröffentlicht — der Browser-Editor für 3D-Gaussian-Splats wurde von Grund auf neu in WebGPU geschrieben. Projektion, Culling anhand des Sichtkegels, Packen, Sortierung nach Tiefe und das Absetzen der Draw Calls für jede Gaussian laufen jetzt in jedem Frame auf der Grafikkarte, und der Editor hält keine vollständigen Float-Kopien der Szene mehr in JavaScript.

In einer Testszene mit 4,4 Mio. Splats (eine PLY-Datei von 990 MB) sank der maximale Speicherbedarf im Leerlauf von 1557 MB auf 105 MB, beim Rendern eines 1080p-Videos von 1673 MB auf 142 MB und beim Speichern einer komprimierten PLY von 2982 MB auf 1759 MB. Genau diese Ersparnis erlaubt es, in einem gewöhnlichen Browser-Tab Szenen zu laden, die dessen Speicher zuvor erschöpft haben — und zusammen mit dem neuen Rendering-Modus mit Szenen aus Dutzenden Millionen Gaussians zu arbeiten.

Die Kompatibilität hat sich dadurch verengt: Das Rendering über WebGL2 wurde in der dritten Version vollständig entfernt, und mit ihm ist auch der Worker für die Software-Sortierung auf der CPU verschwunden. Ohne WebGPU startet der Editor nicht — statt der Oberfläche zeigt er eine Meldung, dass WebGPU nicht verfügbar ist.

Was die Verlagerung der Berechnungen auf die Grafikkarte bringt

Die Änderungen betreffen nicht nur das Rendering. Histogramme, die Auswahl nach Wertebereich, die Farbauswahl, die Berechnung der Abmessungen und alle Schnittdurchläufe bei der Auswahl wurden in Compute-Shader überführt. Ein anschauliches Beispiel ist das Werkzeug Orient: In einer Szene mit 2,4 Mio. Gaussians ließ ein Klick darauf die Oberfläche früher etwa 8,5 Sekunden lang hängen, jetzt ist er in weniger als 25 ms abgearbeitet.

Der Export wurde auf ein Streaming-Verfahren umgestellt: Die Datei wird über splat-transform stückweise zusammengesetzt und nicht komplett im Arbeitsspeicher. Das betrifft PLY, komprimiertes PLY, SOG, SPZ, die Projektdatei .ssproj und die Veröffentlichung in der Galerie. Der Build basiert auf PlayCanvas Engine 2.22.0 und splat-transform 3.3.3.

In die Oberfläche wurde die Diagnose Frame Timings aufgenommen: Sie zeichnet ein Diagramm der Frame-Zeit auf der GPU mit Minimum, Median und 95. Perzentil der letzten Sekunde. Für alle, die Splats für eine bestimmte Zielhardware vorbereiten, ist das eine Möglichkeit, Einbrüche zu sehen, ohne den Editor zu verlassen.

Sphärischer Pinsel und ein Rendering-Modus ohne Sortierung

Die wichtigste Neuerung beim Rendering ist der Modus Stochastic Alpha. Die Gaussians werden undurchsichtig gezeichnet, mit Tiefentest und pixelweiser Abdeckung, also ohne Sortierung nach Tiefe; sobald die Kamera anhält, zeichnet der Editor ein vollständig sortiertes Bild mit Blending nach. In den Einstellungen stehen die Varianten „aus“, „ein“, „nur bei Bewegung“ und „auto“ zur Verfügung — Letztere ist voreingestellt und schaltet nur dann in den stochastischen Modus, wenn sich das sortierte Bild auf der konkreten Grafikkarte als langsam erwiesen hat; wird die Ansicht leichter, kehrt sie zur Sortierung zurück. In der Demonstration von PlayCanvas wird der Modus an einem Scan eines botanischen Gartens mit rund 20 Mio. Gaussians gezeigt.

Редактор гауссовых сплатов SuperSplat 3.0 переписан на WebGPU и в простое требует почти в 15 раз меньше памяти
Scan eines botanischen Gartens im SuperSplat Editor 3.0. Bild: PlayCanvas

Bei den Bearbeitungswerkzeugen fällt vor allem der neue sphärische Pinsel (Shift+B) auf: Jeder Punkt des Strichs wird in der Tiefe unter dem Cursor abgelegt, der Radius wird in eine Weltgröße auf dieser Tiefe umgerechnet, und an Tiefensprüngen wird der Strich unterbrochen — der Pinsel folgt der Oberfläche des Scans und erfasst nicht, was dahinterliegt. Den alten Umschalter „an der Oberfläche / durchgehend“ haben zwei getrennte Parameter ersetzt: Selection Depth und Selection Footprint; die Auswahl anhand des Abdrucks einer Gaussian wird auf der GPU berechnet. Splats mit Alpha null lassen sich jetzt ebenfalls auswählen.

Die Farbkorrektur ist aus den allgemeinen Einstellungen in den Szenen-Manager umgezogen und wird auf die Auswahl angewendet, nicht nur auf die gesamte Szene. Verfügbar sind Farbton, Temperatur, Sättigung, Helligkeit, Schwarz- und Weißpunkt sowie Transparenz — mit Live-Vorschau im Viewport und einer Schaltfläche zum Anwenden, die die Bearbeitung einbrennt. Einen Ausschnitt des Scans lokal zu korrigieren, ist jetzt direkt im Editor möglich.

Weitere Änderungen:

  • ein Appearance-Panel mit getrennten Schaltern für Gaussians, Zentren und Ringe, mit Ringdicke, Größe der Zentren und Einstellung der Auswahlfarbe; die Hilfs-Overlays sind standardmäßig ausgeschaltet und lassen sich alle auf einmal mit Tab ausblenden;
  • ein aufklappbares Overlay-Panel: Gitter und Ebenen, Bounding Box mit Abmessungen, Kamerapositionen, Kameradaten, Frame-Timings;
  • ein überarbeitetes Gitter — die Ebenen XZ, XY und YZ lassen sich unabhängig voneinander einschalten, die Schrittweite ist adaptiv, mit Linien bei 100 und 1000 Metern für große Szenen;
  • ein Bereich Preferences mit Sprache, Tone Mapping, Anzahl der Bänder sphärischer Harmonischer, Fluggeschwindigkeit, Blickwinkel und Zurücksetzen der Einstellungen;
  • beschleunigter Stapelimport von Kameraposen aus JSON und COLMAP, korrektes orthografisches Rendering und Tiefen-Picking, wenn sich die Kamera innerhalb der Szenengrenzen befindet;
  • der Editor lässt sich als Anwendung installieren und registriert sich als Handler für die Dateien .ply, .splat, .sog, .spz, .ksplat und .ssproj.

Voraussetzungen und Umstieg von Version 2.x

Die WebGPU-Voraussetzung schließt einen Teil der Nutzer aus: Es funktionieren aktuelle Versionen von Chrome und Edge, Safari ab Version 26 sowie Firefox mit aktiviertem WebGPU. Wem das nicht passt, für den hat PlayCanvas den zweiten Zweig erhalten — das letzte Release 2.32.5 bleibt im Repository verfügbar. Es gibt auch eine Besonderheit bei Projekten: In 3.0 gespeicherte .ssproj-Dateien lassen sich nur in 3.0 und neuer öffnen, während die dritte Version Projekte aus 2.x problemlos liest. Beim ersten Start wird ein hartes Neuladen der Seite empfohlen — der alte Service Worker und der Offline-Cache aus Version 2.x werden dabei abgemeldet.

An den Vertriebsbedingungen hat sich nichts geändert: SuperSplat Editor ist kostenlos, der Quellcode ist unter der MIT-Lizenz offen, und installiert werden muss nichts — gearbeitet wird auf superspl.at direkt im Browser.

Warum man WebGL2 gerade jetzt aufgegeben hat

Die Entscheidung wirkt von langer Hand vorbereitet. Schon im Juni hatte PlayCanvas den Splat-Viewer auf einen WebGPU-Renderer mit Compute-Shadern umgestellt, und der Editor folgte. Zu diesem Zeitpunkt hat sich die Unterstützung zweier Grafik-Backends wahrscheinlich nicht mehr gelohnt: Die Sortierung auf der CPU und das Halten der Szene in JavaScript waren die wichtigste Einschränkung, und der parallele Rendering-Pfad über WebGL2 erlaubte es nicht, sie loszuwerden.

Der allgemeinere Trend dabei ist, dass Gaussian Splats das Stadium der Demonstrationen verlassen. Formate für Kompression und Austausch entwickeln sich weiter — bei PlayCanvas ist das das eigene SOG, daneben unterstützt der Editor SPZ —, und die Unterstützung für Splats hält in Engines, mobilen Capture-Apps und Produktionspipelines Einzug. Die Werkzeuge passen sich dem Maßstab an: Wenn eine Szene mit Dutzenden Millionen Gaussians zur Arbeitsnorm wird, muss der Editor sie zwangsläufig auf der Grafikkarte berechnen.

Vor dem Hintergrund dieses Übergangs werden sich Browser-CG-Werkzeuge vermutlich nach demselben Muster in Richtung WebGPU bewegen — zuerst der Viewer, dann der Editor, dann der Verzicht auf die Kompatibilität mit WebGL2. Für Studios bedeutet das eine Verschiebung der Anforderungen an die Arbeitsplätze von Modellierern und Scan-Spezialisten hin zu aktuellen Browsern und Treibern.

Was ist Ihnen bei SuperSplat 3.0 wichtiger?

  • Der gesunkene Speicherbedarf
  • Der Umstieg auf WebGPU
147
Mehr zum Thema:
Houdini 22 Keynote auf YouTube: KI-Assistent für APEX Script noch als Preview
Blender 5.3 importiert und rendert Gaussian Splats ohne Add-ons von Drittanbietern
V-Ray 7.4 bringt finale Renderqualität direkt in den Viewport von Maya und Houdini, und für Blender erscheint eine kostenlose Edition
World Labs stellt Atlas vor: Das Modell steuert die Kamera im Video und liefert die Szene mit expliziter 3D-Geometrie
Kommentare:17
Datum des Eintrags Alle Sprachen Nur Deutsch