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.

相關

  • 專案
  • 專案
  • 專案
  • 專案