Skip to content

Commit

Permalink
added demo page
Browse files Browse the repository at this point in the history
  • Loading branch information
KeKsBoTer committed Jan 23, 2024
1 parent d38d502 commit 47dc9c5
Show file tree
Hide file tree
Showing 24 changed files with 661 additions and 25 deletions.
54 changes: 29 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,15 @@

This code implements a renderer for the reconstructions obtained with [3D Gaussian Splatting](/~https://github.com/graphdeco-inria/gaussian-splatting)

[👉 Click to run the web demo 👈](https://keksboter.github.io/web-splat/demo.html)

## Build

Clone the repository and run

```
cargo build --release --bin viewer
```bash
cargo build --release --bin viewer

```

## Run
Expand All @@ -20,36 +23,28 @@ Use the `point_cloud.ply` and `cameras.json` files generated by [3D Gaussian Spl
cargo run --release --bin viewer point_cloud.ply cameras.json
```

To load [compressed npz files](/~https://github.com/KeKsBoTer/c3dgs) the `npz` feature must be enabled:

```
cargo run --release --features npz --bin viewer point_cloud.npz cameras.json
```

<details>
<summary>Usage</summary>
3D Gaussian Splatting Viewer

Usage: viewer [OPTIONS] <INPUT> [SCENE]

Arguments:
<INPUT> Input ply file
[SCENE] Scene json file
<INPUT> Input 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

--no-vsync
-h, --help Print help
-V, --version Print version
</details>

## Controls

Use the mouse and WASD + Shift + Space to navigate the camera.

If a scene (`cameras.json`) file is provided:

- The keys 0-9 can be used to select the views 0-9
- Pressing the `R` key will select a random view
- Next/Previous view can be selected with Page Up/Down
- `N` snaps to nearest view
- `T` starts the tracking shot that visits the test views
king shot that visits the test views

## About

Expand All @@ -58,7 +53,16 @@ If a scene (`cameras.json`) file is provided:

**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.

## TODO

- better camera controls
- make it work in the browser
## Citation
If you find our work useful, please cite:
```
@misc{niedermayr2023compressed,
title={Compressed 3D Gaussian Splatting for Accelerated Novel View Synthesis},
author={Simon Niedermayr and Josef Stumpfegger and Rüdiger Westermann},
year={2023},
eprint={2401.02436},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
```
Loading

0 comments on commit 47dc9c5

Please sign in to comment.