SplatSnap is a command-line tool and Python library for rendering thumbnails from 3D Gaussian splat data. It is ideal for batch preview generation and visualization of 3D scenes using neural rendering techniques.
- π¨ Generate thumbnails from
.splat - πΌοΈ Customizable output dimensions and camera parameters
- π§΅ Batch processing for multiple scenes or viewpoints
- βοΈ Python API and CLI support
# Using Poetry (recommended) poetry install # Or using pip (if not using Poetry) pip install -e .
- Python 3.10+
- NumPy
- Pillow
- tqdm
- numba
- typer
- scipy
- pyfiglet (optional, for fancy CLI output)
Install dependencies via Poetry:
poetry install
poetry run splatsnap --input-path path/to/scene.ply --output-path thumb.png
--input-path TEXT Path to input .splat file [required] --output-path TEXT Path to save output image [required] --camera-position FLOAT FLOAT FLOAT Camera position (x y z) [default: 0.0 0.0 5.0] --look-at FLOAT FLOAT FLOAT Look-at point (x y z) [default: 0.0 0.0 0.0] --up FLOAT FLOAT FLOAT Up direction (x y z) [default: 0.0 -1.0 0.0] --fov-deg FLOAT Field of view in degrees [default: 70.0] --image-width INTEGER Image width in pixels [default: 800] --image-height INTEGER Image height in pixels [default: 600] --show-progress BOOLEAN Show progress bar [default: show-progress] --show-image BOOLEAN Show image in terminal if possible [default: no-show-image] --install-completion Install completion for the current shell. --show-completion Show completion for the current shell, to copy it or customize the installation. --help Show this message and exit.
from splatsnap import render_splats render_splats.render( input_path="path/to/scene.ply", output_path="thumb.png", width=512, height=512, camera_config="default" )
poetry run splatsnap --input scenes/chair.ply \ --output thumbnails/chair.png \ --width 1024 \ --height 768
This project is licensed under the GPL-3.0 License. See the LICENSE file for details.
Developed by Evgeni Genchev
Inspired by research on neural point-based graphics and 3D Gaussian splatting.