Skip to content

localai-org/free-splatter.cpp

Repository files navigation

free-splatter.cpp

Turn a handful of plain photos of an object or scene into 3D Gaussians — no camera poses, no GPU required, no Python. A small C/C++ program (built on ggml) that runs the FreeSplatter neural network on your CPU (or a Vulkan GPU).

You give it N images; it gives you, for every pixel, a 3D Gaussian (position, colour, opacity, size, orientation) that a Gaussian-splatting viewer can render.

Status: under construction. The model runs are being brought up and validated one layer at a time; see CLAUDE.md for the engineering approach.

Build

nix develop            # gets cmake, a compiler, and (optionally) Vulkan
cmake --preset release
cmake --build --preset release

No Nix? You just need CMake, a C++17 compiler, and the bundled ggml submodule (git submodule update --init).

Run

free_splatter-cli model.gguf images.f32
  • model.gguf — the model weights (see Releases).
  • images.f32 — your input views as raw 32-bit floats in [0,1], laid out one view after another, each view as channels-then-rows-then-columns (RGB, 512×512). The number of views is detected automatically.

The output is one Gaussian per pixel per view. Use --out result.f32 to save it, --device vulkan to run on a GPU.

License

Apache-2.0. Model weights are derived from TencentARC/FreeSplatter (Apache-2.0).

About

Turn images into 3D scenes - GGML port of FreeSplatter: Pose-free Gaussian Splatting for Sparse-view 3D Reconstruction

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors