
This code implements a renderer for the reconstructions obtained with 3D Gaussian Splatting
Clone the repository and run
cargo build --release --bin viewer
Use the point_cloud.ply and cameras.json files generated by 3D Gaussian Splatting:
cargo run --release --bin viewer point_cloud.ply cameras.json
Usage
3D Gaussian Splatting Viewer
Usage: viewer [OPTIONS] <INPUT> [SCENE]
Arguments:
<INPUT> Input ply file
[SCENE] Scene json file
Options:
--max-sh-deg <MAX_SH_DEG> maximum allowed Spherical Harmonics (SH) degree [default: 3]
--sh-dtype <SH_DTYPE> datatype used for SH coefficients [default: byte] [possible values: float, half, byte]
--no-vsync
-h, --help Print help
-V, --version Print version
Use the mouse and WASD + Shift + Space to navigate the camera.
If a scene (cameras.json) file is provided:
R key will select a random viewN snaps to nearest viewT starts the tracking shot that visits the test viewsSplat Sorting : We ported the Fuchsia RadixSort to WGPU for sorting the splats on the GPU.
Performance: The renderer reaches >200 FPS on a NVIDIA 3090 RTX and ~130 FPS on a AMD Radeon R9 380 Series (8 years old). Measurements where taken for the bonsai scene at 1200x799 resolution.
$ claude mcp add web-splat \
-- python -m otcore.mcp_server <graph>