Spark is an advanced 3D Gaussian Splatting renderer for THREE.js that integrates splat rendering with mesh-based objects in the THREE.js pipeline.
Gaussian splatting is a technique for rendering 3D scenes captured or generated as point clouds with Gaussian primitives. Spark solves the problem of efficiently rendering these splats in web environments by providing a WebGL2-based renderer that fuses splatting with traditional mesh rendering. The tool supports most major splat file formats including PLY, SPZ, SPLAT, KSPLAT, and SOG, and enables dynamic transformations, real-time color editing, displacement, and skeletal animation of splat objects. It includes a shader graph system for creating and editing splats on the GPU and can render multiple splat objects together with correct depth sorting and multiple viewpoints simultaneously.
Spark is designed for developers building web-based 3D applications who need to incorporate Gaussian splat assets alongside traditional THREE.js meshes. It targets broad device compatibility, aiming for WebGL2 support across nearly all devices and performing efficiently even on low-powered mobile hardware. The tool is portable and can be integrated via CDN or NPM, making it accessible for various project scales from simple visualizations to complex interactive experiences.
The project maintains active development with regular updates to its codebase and documentation. Build infrastructure includes Rust WebAssembly components alongside TypeScript, with tooling for local development, example running, and documentation generation. The team provides comprehensive examples demonstrating the renderer's capabilities and maintains detailed documentation and FAQ resources for developers adopting the tool.