Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

Spark 2.0 is here! 🚀 We’re redefining what’s possible on the web with a streamable LoD system for 3D Gaussian Splatting. Built on Three.js, you can now stream massive 100M+ splat worlds to any device from mobile to VR using WebGL2. All open-source. Dive into the tech 👇

421,043 Aufrufe • vor 6 Monaten •via X (Twitter)

56 Kommentare

Profilbild von spark
sparkvor 6 Monaten

How do we render 100M+ splats in a browser? Spark 2.0 solves the scale challenge with three core systems: - Continuous LoD trees - Progressive .RAD streaming - GPU Virtual Memory paging Interactive demos in thread 🧵👇 Technical blog:

Profilbild von spark
sparkvor 6 Monaten

Learn about Spark: Experience the scale for yourself. Coit Tower consists of 40M+ splats, yet it’s fully interactive in your browser. The beauty of Spark LoD is seeing 100M+ splat worlds run smoothly on any device. Explore here:

Profilbild von spark
sparkvor 6 Monaten

Traditional 3D uses texture-mapped triangles to build surfaces. But to capture the real world, we need something more fluid. 3D Gaussian Splatting uses millions of semi-transparent ellipsoids that blend together to form hyper-realistic details. Demo:

Profilbild von spark
sparkvor 6 Monaten

What is a Splat? 📂 Each "splat" is defined by its position, XYZ scale, rotation, color, and opacity. We render them using the "painter's algorithm," sorting millions of these ellipsoids back-to-front in real-time. It’s like digital pointillism, but with 3D Gaussian profiles. 🎨 Demo:

Profilbild von spark
sparkvor 6 Monaten

Spark began as an internal @theworldlabs tool to solve the limits of existing web renderers. Most could only handle one object at a time and lacked dynamic animations. We built Spark on @threejs and WebGL2 so anyone can build interactive 3DGS experiences that work on every device. Lofi Worlds:

Profilbild von spark
sparkvor 6 Monaten

Secret Sauce 🥫 To build massive worlds, you have to join multiple 3DGS objects together. Spark uses a three-step algorithm to ensure they coexist in the same space without looking "pasted over" each other: 1. Generate a global list 2. Sort back-to-front 3. Render in one go Demo:

Profilbild von spark
sparkvor 6 Monaten

Spark features a programmable GPU pipeline for every splat. This unlocks real-time effects like SDF clipping, animated transitions, and 4DGS interpolation. We use a two-pass radix sort in a Web Worker to keep the main thread smooth, even with multiple viewpoints. Demo:

Profilbild von spark
sparkvor 6 Monaten

As 3DGS scenes grow to 10M+ splats, not to mention 100M+, they hit a wall: huge downloads and GPU memory caps on mobile. Spark 2.0 breaks this barrier. We use Level-of-Detail, Progressive Streaming, and Virtual Memory to render massive worlds on any device. Demo:

Profilbild von spark
sparkvor 6 Monaten

The Splat Tree 🌲 Spark 2.0 uses an LoD Splat Tree. Every splat exists in a hierarchy where parent nodes are lower-resolution merges of their children. The root is a single large splat representing the whole object. Spark traverses this tree to pick a "cut" that perfectly matches your viewpoint.

Profilbild von spark
sparkvor 6 Monaten

Performance Magic 🪄 Spark maintains a steady frame rate by computing "slices" through the LoD tree. By setting a budget (500K to 2.5M splats), we ensure a constant workload for the GPU regardless of scene size. You can trade detail for FPS in real-time to fit any device. Demo:

Profilbild von spark
sparkvor 6 Monaten

To keep the main loop smooth, Spark updates LoD updates asynchronously using Rust compiled to WebAssembly. We also use fixed foveated rendering to bias the splat budget toward the center of your view. More detail where you look, less where you don't. 🎯 Demo:

Profilbild von spark
sparkvor 6 Monaten

Spark includes two "training-free" algorithms to build these hierarchies: Tiny-LoD for fast, on-demand use in the browser, and Bhatt-LoD for high-quality offline processing using statistical shape similarity. No reference images needed—just raw 3DGS data. 📁 Demo:

Profilbild von spark
sparkvor 6 Monaten

Existing formats like .PLY and .SPZ aren't built for streaming. We developed .RAD: a spatially partitioned format that lets you see a 64K coarse version of a scene instantly while refining details as you move. Refinement happens in real-time, prioritized for your view. ⚡

Profilbild von spark
sparkvor 6 Monaten

The final piece: Spark adapts OS-level Virtual Memory to the GPU. We manage a 16M splat physical pool that swaps 64K "pages" of data in and out from .RAD files using an LRU eviction strategy. This is how we render infinite, composite worlds on a mobile device. Demo:

Profilbild von spark
sparkvor 6 Monaten

Spark 2.0 is a complete solution for streaming and rendering 3DGS worlds on the web. 🌍 With a programmable GPU engine, .RAD streaming, and virtual memory, we're making 100M+ splat scenes accessible to everyone, on any device. Start building today:

Profilbild von Fei-Fei Li
Fei-Fei Livor 6 Monaten

Spark 2.0 can now stream 100M+ splats on any device! So proud to contribute to the open source ecosystem of web-based 3DGS rendering!❤️‍🔥🌐

Profilbild von spark
sparkvor 6 Monaten

🌎🤩

Profilbild von Adam Chernick
Adam Chernickvor 6 Monaten

THIS IS HUGE!! Great work to the whole team!

Profilbild von spark
sparkvor 6 Monaten

Thanks Adam! 🚀 Let us know what you build!

Profilbild von Rangesh 👓
Rangesh 👓vor 6 Monaten

I am excited to build using this.

Profilbild von let ruslan =
let ruslan =vor 6 Monaten

What? Again? The second coming of 2.0? :)

Profilbild von spark
sparkvor 6 Monaten

Yes! 🤩 Developer preview is now fully public and updated on our website!

Profilbild von let ruslan =
let ruslan =vor 6 Monaten

<3

Profilbild von Joao Melo Rodrigues
Joao Melo Rodriguesvor 6 Monaten

Incredible, you guys have been cooking! Already testing it at cyango 🥳

Profilbild von Gus Garza
Gus Garzavor 6 Monaten

this is great congrats cant wait to try it out

Profilbild von spark
sparkvor 6 Monaten

Yes! feel free to also test out our examples page here!

Profilbild von Andres Hernandez
Andres Hernandezvor 6 Monaten

looks crazy!@#!@

Profilbild von Benjamin Arnaud
Benjamin Arnaudvor 6 Monaten

Congratulations for making this OpenSource !

Profilbild von Morgan | Alpha Hunter
Morgan | Alpha Huntervor 6 Monaten

wild stuff fr

Profilbild von Sync Kun
Sync Kunvor 6 Monaten

W

Profilbild von Rohan
Rohanvor 6 Monaten

Great work! This is pretty cool!

Profilbild von Yo.Town 3D
Yo.Town 3Dvor 6 Monaten

This is very helpful. Our 3D printing community has one more 3D modeling channel. Also, thank you for the open-source nature and making it compatible with WebGL. It’s very useful.

Profilbild von otman.ETH
otman.ETHvor 6 Monaten

that’s unreal webgl2 finally getting its crown

Profilbild von Alex Castle
Alex Castlevor 6 Monaten

Oh my god you guys are on another level

Profilbild von spark
sparkvor 6 Monaten

🤩🙏

Profilbild von ry
ryvor 6 Monaten

somebody put new york city in this

Profilbild von spark
sparkvor 6 Monaten

🏙️🏙️🏙️🌎

Profilbild von sarmad 🇦🇺 ✨ 💻
sarmad 🇦🇺 ✨ 💻vor 6 Monaten

Looks amazing! any reason for not using webgpu over webgl2?

Profilbild von Lara Frost
Lara Frostvor 6 Monaten

100M+ splats to mobile is a serious engineering milestone. The implications for web-based space sims alone are huge. 🤩

Profilbild von Allan Dowdeswell
Allan Dowdeswellvor 6 Monaten

Very nice. What would be the required or recommended server setup for the rad files?

Profilbild von Ai(n) Malcolm
Ai(n) Malcolmvor 6 Monaten

very nice!

Profilbild von Joe Sparks
Joe Sparksvor 6 Monaten

Cool name!

Profilbild von Savant 💮
Savant 💮vor 6 Monaten

I've been waiting for this 😎

Profilbild von Wei Liu
Wei Liuvor 6 Monaten

LoD streaming for 3D Gaussian Splatting on the web is a big step forward. Congrats to the team.

Profilbild von Tessala
Tessalavor 6 Monaten

So metaverse not dead anymore?

Profilbild von Kobid Upadhyay
Kobid Upadhyayvor 5 Monaten

The development on spark is very cool. The finer control over the splats made possible our product Looking forward to more updates in the future!

Profilbild von Tumb1eweed
Tumb1eweedvor 6 Monaten

cool!

Profilbild von shuang^🍦
shuang^🍦vor 5 Monaten

coooool

Profilbild von Yi Yeshu | XunZhi Tech
Yi Yeshu | XunZhi Techvor 5 Monaten

Spark 2.0 is a game changer! We use 3DGS + Three.js for real-time underground pipeline visualization — field photos to interactive 3D on any browser. The LoD streaming will be huge for our large-scale utility mapping scenes. Live viewer:

Profilbild von john 🤟 Lumiterra
john 🤟 Lumiterravor 6 Monaten

👀

Profilbild von ----------
----------vor 6 Monaten

cool for static stuff, so what about animations

Profilbild von Leo Mozoloa
Leo Mozoloavor 6 Monaten

forgot the links my guy, can't dive into much rn

Profilbild von timger
timgervor 5 Monaten

Built on Three.js

Profilbild von raja nazirul
raja nazirulvor 5 Monaten

crazy how it can run smoothly using browser.

Profilbild von sketchasketch
sketchasketchvor 6 Monaten

Yoo that’s pretty major! I gotta check this out!

Profilbild von Pierre Charpentier
Pierre Charpentiervor 5 Monaten

Love the detailed technical explanation, however I don't understand why I'm having so many (and slow) pop-ins with my desktop PC setup. I'm at 400 Mbps download speed, i9-12900KF CPU + RTX 4090 GPU, and this is how it runs:

Ähnliche Videos