The renderer is based on SIBR to rendering 3D Gaussian Splatting model files.
SIBR is a System for Image-Based Rendering. It is built around the sibr-core in this repo and several Projects implementing published research papers. For more complete documentation, see here: SIBR Documentation
- Depth Culling by Hierarchical Z-Buffer
- OpenGL 4.5-ready GPU and drivers
- 4 GB VRAM recommended
- CUDA-ready GPU with Compute Capability 7.0+
- Visual Studio or g++, not Clang (we used Visual Studio 2019/2022 for Windows)
- CUDA SDK 11+, install after Visual Studio
- CMake (recent version)
- 7zip (only on Windows)
-
Checkout this repository's master branch:
git clone https://github.com/Rainzor/Renderer-3dgs.git --recursive
- Run Cmake-gui once, select the repo root as a source directory,
build/
as the build directory. Configure, select the Visual Studio C++ Win64 compiler - Select the projects you want to generate among the BUILD elements in the list (you can group Cmake flags by categories to access those faster)
- Generate
- Open the generated Visual Studio solution (
build/sibr_projects.sln
) - Build the
ALL_BUILD
target, and then theINSTALL
target - The compiled executables will be put in
install/bin
- If some
*dll
files are not found, you need to copy them toinstall/bin
- Open the generated Visual Studio solution (
build/sibr_projects.sln
) - Build the
DOCUMENTATION
target - Run
install/docs/index.html
in a browser
cd <dir>
cmake -Bbuild .
cmake --build build --target install --config Release -j
./install/bin/SIBR_gaussianViewer_app.exe -m <path to trained model>
Primary Command Line Arguments for Real-Time Viewer
Path to trained model.
Specifies which of state to load if multiple are available. Defaults to latest available iteration.
Argument to override model's path to source dataset.
Takes two space separated numbers to define the resolution at which real-time rendering occurs, 1200
width by default. Note that to enforce an aspect that differs from the input images, you need --force-aspect-ratio
too.
Flag to load source dataset images to be displayed in the top view for each camera.
Index of CUDA device to use for rasterization if multiple are available, 0
by default.
Disables CUDA/GL interop forcibly. Use on systems that may not behave according to spec (e.g., WSL2 with MESA GL 4.5 software rendering).
@misc{sibr2020,
author = "Bonopera, Sebastien and Esnault, Jerome and Prakash, Siddhant and Rodriguez, Simon and Thonat, Theo and Benadel, Mehdi and Chaurasia, Gaurav and Philip, Julien and Drettakis, George",
title = "sibr: A System for Image Based Rendering",
year = "2020",
url = "https://gitlab.inria.fr/sibr/sibr_core"
}