OpenXR overlay to visualize tracked devices.
  • C++ 91.2%
  • CMake 5.1%
  • Nix 3.7%
Find a file
insberr 60f43f755c
All checks were successful
ci/crow/push/build Pipeline was successful
ci/crow/tag/build Pipeline was successful
oops...
2026-07-31 15:17:32 -07:00
.crow ci to build a binary 2026-07-29 21:15:54 -07:00
assets update README.md: added demonstration images 2026-07-29 20:57:30 -07:00
fonts a little bit of cleanup 2026-07-29 20:57:30 -07:00
include use argparse library and added option to control gizmo line thickness 2026-07-31 12:28:43 -07:00
src nix flake is now installable, embed font in binary, cmake option to use system packages for glm,freetype,argparse 2026-07-31 15:11:47 -07:00
.envrc initial commit. well it works but its bad... 2026-07-29 20:56:58 -07:00
.gitignore initial commit. well it works but its bad... 2026-07-29 20:56:58 -07:00
.gitmodules use argparse library and added option to control gizmo line thickness 2026-07-31 12:28:43 -07:00
CMakeLists.txt nix flake is now installable, embed font in binary, cmake option to use system packages for glm,freetype,argparse 2026-07-31 15:11:47 -07:00
flake.lock a little bit of cleanup 2026-07-29 20:57:30 -07:00
flake.nix nix flake is now installable, embed font in binary, cmake option to use system packages for glm,freetype,argparse 2026-07-31 15:11:47 -07:00
LICENSE add license 2026-07-29 20:57:29 -07:00
README.md oops... 2026-07-31 15:17:32 -07:00

vr-tracker-overlay

An OpenXR overlay to visualize tracked devices. Useful for debugging or double checking that everything is calibrated properly.

Important

The initial "proof of concept" for this project was mostly written by a LLM as a single main.cpp.
It has been 'rewritten' (and will continue to be written) without any LLM assistance and is purely the work of a human (me).

here are some cool images showing off the overlay, in case you were curious

Image showing 3 vive trackers and two quest controllers as seen through passthrough mode in vr, with the overlay's gizmos rendering over them. Image showing 3 vive trackers as seen through passthrough mode in vr, with the overlay's gizmos rendering over them.

Usage

Launch arguments

Launch Argumant Description type
--show-floor-grid Show a grid at the floor level flag
--show-device-labels Show text labels to identify devices flag
--gizmo-line-thickness Set the line thickness of the gizmos uint

Installation

More installation methods to come, if the community desires them...

Linux binary

Download the latest release and run it

Nix

With nix run

nix run git+https://git.insberr.com/insberr/vr-tracker-overlay

Or add to your flake inputs

vr-tracker-overlay.url = "git+https://git.insberr.com/insberr/vr-tracker-overlay";

Development

Clone the repository and submodules

git clone --recurse-submodules https://git.insberr.com/insberr/vr-tracker-overlay.git

Note

If you forgot to clone with --recurse-submodules, you can fetch submodules by:

cd vr-tracker-overlay
git submodule init
git submodule update

Build and run

cd vr-tracker-overlay
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_MAKE_PROGRAM=ninja -G Ninja -S ./ -B ./cmake-build-debug
cmake --build ./cmake-build-debug --target vr-tracker-overlay -j 30
./cmake-build-debug/vr-tracker-overlay --show-floor-grid --show-device-labels --gizmo-line-thickness 5