3 Punkte von GN⁺ 2025-06-13 | 1 Kommentare | Auf WhatsApp teilen
  • Spark ist ein fortschrittlicher Renderer, der für das Rendern von 3D Gaussian Splatting in Three.js-Szenen entwickelt wurde
  • Entwickelt von World Labs; ermöglicht es, Splats zusammen mit anderen Meshes innerhalb bestehender Szenen zu platzieren
  • Ziel ist schnelles Rendering auf allen Geräten, mit Fokus auf den Umgang mit Splat-Inhalten in unterschiedlichen Umgebungen
  • Unterstützt programmierbare dynamische Splat-Effekte, sodass sich über eine statische Darstellung hinaus Effekte innerhalb der Szene erstellen lassen
  • Unterstützt mehrere Formate wie ply, sogs, spz, splat und ksplat; der Einstieg ist direkt über die offizielle Dokumentation möglich

Splat-Renderer zur Integration in Three.js-Szenen

  • Spark ist ein 3D-Gaussian-Splatting-Renderer für Three.js
  • Entwickelt von World Labs
  • Kann in bestehende Three.js-Szenen integriert und zusammen mit anderen Meshes und Splats verwendet werden

Rendering-Funktionen und unterstützte Formate

  • Laut Beschreibung bietet es schnelles Rendering auf allen Geräten
  • Unterstützt programmierbare dynamische Splat-Effekte
  • Unterstützte Formate sind:
    • ply
    • sogs
    • spz
    • splat
    • ksplat
  • Die Einstiegshilfe ist unter Get started verfügbar

1 Kommentare

 
GN⁺ 2025-06-13
Hacker-News-Kommentare
  • Die Demo ist wirklich beeindruckend und läuft selbst auf einem älteren iPhone gut.
    Aus Sicht eines Hobby-Game-Developers ohne viel 3D-Programmierwissen wäre es schön, wenn irgendwo auf GitHub oder der Website Gaussian Splatting wenigstens in einem Satz definiert würde.
    Schon etwas wie die Wikipedia-Formulierung „Gaussian Splatting ist eine Volumen-Rendering-Technik, die Volumendaten direkt rendert, ohne sie in Oberflächen- oder Linienprimitive umzuwandeln“ würde das Projekt und seine möglichen Anwendungen deutlich spannender machen.
    Wenn man damit performante Wolken, Feuer oder Rauch erzeugen könnte, wäre das wirklich großartig.

    • Eine FAQ sollte unbedingt ergänzt werden.
  • Die Food-Scan-Demo ist großartig, besonders der Beispielabschnitt „Interactivity“.
    Besonders gut gefiel mir die Szene, in der man beim Mel's Steak Sandwich in die Löcher im Brot hineinschaut; gemessen an der sichtbaren Detailtiefe ist die Performance selbst auf einem integrierten Grafikchip erstaunlich gut.
    Ich frage mich, wo diese Technik derzeit am häufigsten eingesetzt wird.

    • Es gibt eine leidenschaftliche Community, die kurze Objekte mit Handheld-Geräten oder Drohnen scannt.
      Tipatat hat großzügig Food-Scans für die Demos bereitgestellt, und ich mag auch die Blumenscans von kotohibi: https://superspl.at/user?id=kotohibi
    • Für diesen Detailgrad ist auch die Übertragungsgröße nicht schlecht. Es sind nur etwa 80 MB.
      Das ist nicht sarkastisch gemeint, sondern wirklich sauber.
  • Das hier ist ebenfalls cool, und BabylonJS hat auch ordentliche Unterstützung für Gaussian Splatting: https://doc.babylonjs.com/features/featuresDeepDive/mesh/gau...

    • BabylonJS und das im Originalbeitrag erwähnte Aframe [1] scheinen bei Lizenz sowie GitHub-Stars und -Forks ähnlich dazustehen, aber Aframe wirkt neuer und stärker auf Games/VR fokussiert.
      Mich würde interessieren, wie Babylon, Aframe, Three.js und PlayCanvas [2] aus Sicht von Leuten abschneiden, die sie genutzt haben.
      Nach meinem Verständnis ist PlayCanvas am ausgereiftesten, hat die meisten Features und bietet gute Performance, ist aber kommerziell; Babylon ist eine funktionsreiche 3D-Engine, während Three.js ziemlich roh ist. Es hat gute Bausteine wie Animationen und Texturen, aber am Ende fühlt es sich so an, als würde man sich sein eigenes Toolset bauen.
      Mich würden gute oder schlechte Erfahrungen mit einem dieser Tools interessieren.
      Die Demo ist wirklich stabil. Ich frage mich, was der zentrale Reiz von Aframe ist.
      Außerdem frage ich mich, wie sich die Zukunft von Gaussian Splatting entwickeln wird: ob es über Visualisierung oder industrielle „Digital Twins“ hinaus Anwendungen geben wird, ob man es in naher Zukunft bearbeiten oder animieren kann und wann es für Kreativ- und Game-Bereiche nützlich wird.
      [1] https://github.com/aframevr/aframe
      [2] https://playcanvas.com/
  • Hier ist der Repository-Link etwas sichtbarer: https://github.com/sparkjsdev/spark

  • Sehr cool.
    Ich frage mich, wo aktuell der Performance-Flaschenhals liegt, insbesondere welche Erkenntnisse es bei dynamischen Szenen gibt.
    Das Beispiel mit der Partikelsimulation ruckelt, wird aber deutlich besser, sobald man die Kamera dreht; der statische Hintergrund scheint deutlich schwerer zu sein, als er aussieht.
    Unabhängig vom Flaschenhals ist die prozedural erzeugte Sierpinski-Pyramide dagegen großartig.

    • Die Anzahl der Splats in der Szene und ihre Verteilung beeinflussen die Performance.
      Vermutlich wurde die Kamera in eine Richtung gedreht, in der weniger Splats liegen.
      Für konstante Performance bleibt noch einiges zu tun; als Nächstes werden wir uns vermutlich ein LOD-System ansehen.
  • Ich bin immer noch ziemlich skeptisch, ob Gaussian Splatting mehr ist als nur Demos.
    Die Dateien sind zu groß. Ein einzelnes Steak-Sandwich hat zum Beispiel 12 MB.
    Auf der SIGGRAPH im letzten Jahr gab es eine auf Gaussian Splatting basierende Matterport-Replik; um eine Zwei-Zimmer-Wohnung anzusehen, mussten 1,5 GB gestreamt werden.
    Die Demo selbst ist cool.

    • Man sollte auch sehen, dass das 12-MB-Steak-Sandwich eines der größten Beispiele ist.
      Die übrigen liegen unter 10 MB, und mehrere der durchaus überzeugenden Beispiele bewegen sich im Bereich von 1 bis 3 MB. Das Iberico Sandwich hat zum Beispiel 1 MB, Clams and Caviar 1,8 MB.
      Fortgeschrittenere Kompressionsverfahren kommen ebenfalls. Ein Beispiel ist SOGS. Das hier hat 30 MB:
      https://vincentwoo.com/3d/sutro_tower/
    • SOGS-Kompression funktioniert gut.
      Eine Million Gaussians inklusive vollständiger Kugelflächenfunktionen lassen sich in etwa 14 MB unterbringen.
      Im PlayCanvas-Blog gibt es dazu einen guten Beitrag: https://blog.playcanvas.com/playcanvas-adopts-sogs-for-20x-3...
    • Die große Dateigröße dient größtenteils dazu, Kugelflächenfunktions-Koeffizienten zu speichern, und das ist ein lösbares Problem.
  • Die Arbeit ist beeindruckend, aber in Firefox auf einem Laptop mit Nvidia RTX A3000 GPU ist die Performance ziemlich schlecht.
    Darin stecken genug Shader-Cores, um Verbrennungen ersten Grades zu verursachen.

    • Passiert das bei bestimmten Demos oder Beispielen?
  • Könnte man mit dem Handy herumlaufen und Gaussian Splats von Dingen wie Gras, Büschen und Erde aufnehmen?
    Und dann ein ein Quadratmeter großes Stück Boden oder einen ein Kubikmeter großen Bereich mit Busch auswählen, anschließend Grasblöcke wiederholt auslegen und gelegentlich Erde und Büsche untermischen, um eine „Minecraft-artig aussehende“ Welt zu bauen?
    Um Tausende solcher Blöcke zu rendern, bräuchte man vermutlich ziemlich starke Hardware.

    • Einen solchen Prototyp könnte man wohl durchaus bauen.
      In echt sähe das wahrscheinlich großartig aus.
  • Sieht wirklich cool aus.
    Würde es auch in VR funktionieren, wenn man die Webseite im Browser öffnet? Das wäre noch beeindruckender.

    • Es funktioniert auch in VR. Wir werden demnächst eine Demo veröffentlichen.