Skip to content

nerfstudio-project/viser

Repository files navigation

viser

[ API Reference ]   •   pip install viser

pyright mypy typescript pypi


viser is a library for interactive 3D visualization + Python, inspired by our favorite bits of the Nerfstudio viewer, Pangolin, rviz, and meshcat.

Core features:

  • Web interface for easy use on remote machines.
  • Pure-Python API for sending 3D primitives to the browser.
  • Python-configurable inputs: buttons, checkboxes, text inputs, sliders, dropdowns, gizmos.
  • Support for multiple panels and view-synchronized connections.

Running examples

# Clone the repository.
git clone https://github.com/brentyi/viser.git

# Install the package.
# You can also install via pip: `pip install viser`.
cd ./viser
pip install -e .

# Run an example.
pip install -r ./examples/requirements.txt
python ./examples/4_gui.py

After an example script is running, you can connect by navigating to the printed URL (default: http://localhost:8080).

Setup (client development)

This is only needed for client-side development. The automatically hosted viewer should be sufficient otherwise.

cd ./viser/viser/client
yarn
yarn start

Demos

Interactive SMPL-X Example

Screen.Recording.2023-03-29.at.9.56.33.PM.mov

Interactive NeRF rendering

(code not released)

Screen.Recording.2023-04-14.at.3.12.50.PM.mov