Brush is a 3D reconstruction engine that uses Gaussian splatting to create 3D models from image data.
Brush addresses the challenge of making machine learning-based 3D reconstruction accessible across diverse hardware and platforms. Traditional ML tools struggle with real-time rendering requirements, dynamic computations, and platform compatibility. Brush solves this by building on WebGPU-compatible technology and the Burn machine learning framework, enabling it to run natively on macOS, Windows, Linux, Android, and in web browsers without requiring platform-specific dependencies like CUDA. The engine accepts COLMAP data or Nerfstudio format datasets and performs Gaussian splatting training with live interactive visualization, allowing users to watch training progress and compare renderings against input views in real time.
Brush suits projects requiring 3D reconstruction across multiple platforms without complex setup or large binary dependencies. It works equally well as a training tool and as a standalone splat viewer, supporting both .ply and compressed .ply file formats. The tool includes masking capabilities for handling transparent images and masked regions, can load animations from zipped splat collections or delta-frame PLY files, and exposes its functionality through both a graphical interface and command-line tools. For developers wanting additional visualization during training, Brush integrates with Rerun for detailed debugging and analysis.
The project maintains active development with regular updates to core functionality. Work spans multiple platforms simultaneously, with ongoing efforts to expand browser support beyond Chrome and Edge. The codebase receives consistent refinement across training, viewing, and CLI components, and the maintainer actively incorporates community feedback and integrates with complementary tools like Rerun for enhanced workflows.