Three.js-native 3D Gaussian splatting renderer Docs/examples @ sparkjs.dev | Github @ github.com/sparkjsdev/spark | Discord @ discord.gg/9MH9VCWYpF

Filter
Exclude
Time range
-
Minimum likes
SparkJS 2.2.0 is out packing tons of bug fixes an improvements. Enjoy! 🎉 🥳 20% faster splat sorting, 14% FPS gains in some systems, 50% smaller bundle size and more. Dive into the full detailed change log github.com/sparkjsdev/spark/…
7
36
13,190
Built using Spark 2.0 LoD for 3D gaussian splat rendering on the web 🤩🌎
We turned dreams into worlds. Then filled them with history's greatest minds. Not a video. A world, running directly in your browser. Step inside ↓
1
16
2,146
This is just the beginning for the Spark ecosystem. 🛠️ We built these tools to see what you’ll create next. Dive into the tech, explore the code, and start building your own massive worlds today. Read the technical blog: worldlabs.ai/blog/spark-2.0
1
7
1,431
Finally, a look at SplatStroll. 🗺️ This project combines Spark 2.0 and dyno with CesiumJS and three.js to bring 3DGS to a global scale. Official support and a map-compatible demo are coming soon from @DuckbillStudio Learn more: studioduckbill.jp/3DGSLabo/S…
1
7
56
4,625
Spatial information for every device. @lileaLab demonstrates massive 40M+ splat scenes that run smoothly on smartphones and XR headsets like Vision Pro. Explore: works.lilea.net/spark/
1
4
35
2,444
@smallfly uses Spark LoD to turn real-world scans into "Dormant Memories." These are interactive, documented spaces exploring the intersection of memory and place. Experience it here: smallfly.com/dormant_memorie…
1
1
17
1,688
STARSPEED by @jamesckane is a multiplayer shooter with a 10-song synthwave OST and gripping story. 🛸 It uses Spark and the .rad format to stream massive 100M+ splats with zero friction. Created with Marble, Three.js and Blender. Play it here: starspeed.game/
1
1
11
1,310
Spark 2.0 was built to make massive-scale 3D open and accessible on the web. It’s exciting to see builders already using the LoD system to stream high-fidelity worlds, like the 100M+ splat environments in STARSPEED. Take a look at how creators are shaping the future of 3D. 🧵👇
2
10
113
17,688
Replying to @KyivskyRus
Yes! 🤩 Developer preview is now fully public and updated on our website! sparkjs.dev/
1
2
719
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: sparkjs.dev/
2
1
35
3,089
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: wlt-ai-cdn.art/spark-2.0/260…
2
33
3,697
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. ⚡
1
27
2,553
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: wlt-ai-cdn.art/spark-2.0/260…
2
1
35
2,568
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: wlt-ai-cdn.art/spark-2.0/260…
1
31
2,964
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: wlt-ai-cdn.art/spark-2.0/260…
1
23
2,570
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.
1
22
2,727
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: wlt-ai-cdn.art/spark-2.0/260…
1
28
3,028
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: wlt-ai-cdn.art/spark-2.0/260…
1
1
26
9,079
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: wlt-ai-cdn.art/spark-2.0/260…
1
30
3,813