sparkjsdev/spark
:sparkles: An advanced 3D Gaussian Splatting renderer for THREE.js
What it solves
Spark is a high-performance 3D Gaussian Splatting renderer designed for THREE.js. It allows developers to integrate photorealistic 3D scenes created via Gaussian Splatting into web applications, ensuring they run smoothly across a wide range of devices, including low-powered mobile phones.
How it works
Spark integrates directly into the THREE.js rendering pipeline, allowing for a hybrid approach where Gaussian splats and traditional mesh-based objects can be rendered together in the same scene. It supports a wide variety of splat file formats (such as .PLY, .SPZ, .SPLAT, .KSPLAT, and .SOG) and uses a Rust-based WebAssembly (Wasm) component for performance-critical tasks.
Who it’s for
Web developers and 3D artists who want to actually implement Gaussian Splatting in THREE.js projects with high performance and broad device compatibility.
Highlights
- Broad Compatibility: Targets 98%+ WebGL2 support, making it portable across almost all devices.
- Hybrid Rendering: Fuses splat-based and mesh-based objects within a single pipeline.
- Dynamic Control: Supports real-time color editing, displacement, skeletal animation, and transformations for each splat.
- GPU-driven: Includes a shader graph system to create or edit splats dynamically on the GPU.
- Multi-view: Capable of rendering multiple viewpoints simultaneously.
Related
- Project
- Project
- Project
- Project