Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
Tooling

This project uses repository scripts and Blender plugins for build support, documentation checks, and content authoring.

  1. Blender
  2. Asset LSP
  3. buildTools/

Blender

Blender acts as the level editor. The repository provides editor and exporter plugins for engine-specific properties and glTF export.

Asset LSP

Asset LSP documents the CLion setup for mesh asset diagnostics, mesh-name completion, and project asset path quick fixes.

buildTools/

buildTools/ contains engine and project maintenance scripts.

File Use
run-deprecated-scanner.sh Finds declarations with a @Deprecated Doxygen tag where the implementation is not marked accordingly.
format-documentation.sh Reorders documentation tags across the codebase.
calculate-loc.sh Counts lines of code for engine and game code.
run-monado-debug.sh Opens Monado GUI or runs a built target through Monado with OXR_DEBUG_GUI=1.
run-monado-gdb.sh Runs a built target under GDB inside the Monado debug runtime.
run-wivrn-server.sh Starts the WiVRn server for the normal headset runtime stack.

OpenXR Runtime Helpers

Use these scripts when switching between headset testing and Monado debug-view testing.

run-monado-debug.sh

run-monado-debug.sh starts Monado in debug GUI mode.

buildTools/run-monado-debug.sh

With a target name, the script resolves executables from the binaryDir entries in CMakePresets.json.

buildTools/run-monado-debug.sh --list
buildTools/run-monado-debug.sh --list-headsets
buildTools/run-monado-debug.sh Game
buildTools/run-monado-debug.sh --headset MetaQuest3 Game
buildTools/run-monado-debug.sh Game --headset ValveIndex --framerate 144
buildTools/run-monado-debug.sh --resolution 2160x2160 --framerate 90 Game
buildTools/run-monado-debug.sh --preset x64-Release-fast Game
buildTools/run-monado-debug.sh Game --preset x64-Release-fast
buildTools/run-monado-debug.sh --preset x64-Release-fast-tracy asset-lsp

The default preset for target lookup is x64-Release-fast-tracy. Override it with --preset <preset> or MONADO_CMAKE_PRESET=<preset>. Launcher options can appear before or after the target name. Use -- before target arguments that look like launcher options. Targets resolved from a CMake preset run from that preset's binaryDir, so relative assets/... paths resolve against the build output tree.

Headset simulation options set Monado compositor environment variables for the launched process:

Option Details
--headset <name> Uses a named headset's per-eye render pixel budget and default refresh rate.
--resolution <width>x<height> Overrides the per-eye render pixel budget, for example 2064x2208.
--framerate <hz> Overrides the simulated refresh rate.
--list-headsets Lists known headset presets.

Known presets:

Name Per-eye resolution Default Hz Notes
MetaQuest3 2064x2208 90 Supports 72/80/90/120 Hz.
MetaQuest2 1832x1920 90 Supports 72/80/90/120 Hz.
MetaQuestPro 1800x1920 90 Supports 72/80/90 Hz.
HtcVive 1080x1200 90 Original HTC Vive.
HtcVivePro2 2448x2448 90 Supports 90/120 Hz.
ValveIndex 1440x1600 120 Supports 80/90/120/144 Hz.
HpReverbG2 2160x2160 90 WMR headset.
BigscreenBeyond 2560x2560 90 Supports 75/90 Hz.
Psvr2 2000x2040 90 Supports 90/120 Hz.

Monado's simulated HMD currently exposes a hardcoded 640x720 per-eye base. The script maps requested per-eye pixels to XRT_COMPOSITOR_SCALE_PERCENTAGE by equivalent pixel area, and maps refresh rate to XRT_COMPOSITOR_DEFAULT_FRAMERATE. Common Monado builds clamp compositor scale above 200%, so high-resolution presets may still be capped by the runtime. This is intended for local performance simulation rather than exact optics, FOV, or display-layout emulation.

Requirements:

Requirement Details
monado-gui Required when running the script without a target. Override the executable with MONADO_GUI=/path/to/monado-gui.
monado-service Required when running an OpenXR target through standalone Monado. The script starts it if the Monado IPC socket is missing. Override the executable with MONADO_SERVICE=/path/to/monado-service.
libopenxr1-monado Required on Debian-based systems for the standalone Monado OpenXR runtime manifest and runtime library.
python3 Required for reading CMakePresets.json and listing preset target directories.
Built target The requested target must exist and be executable under the selected preset binaryDir.
Monado OpenXR runtime manifest Required when running a target. The script searches standard OpenXR runtime manifest paths. Override with MONADO_RUNTIME_JSON=/path/to/openxr_monado.json.

Install the standalone Monado runtime on Debian-based systems with:

sudo apt install libopenxr1-monado monado-service

The searched Monado manifest paths are:

$HOME/.local/share/openxr/1/openxr_monado.json
/usr/local/share/openxr/1/openxr_monado.json
/usr/share/openxr/1/openxr_monado.json
/etc/xdg/openxr/1/openxr_monado.json

The script always exports OXR_DEBUG_GUI=1 before launching Monado or a target. When launching a target, it also exports XR_RUNTIME_JSON to the resolved Monado runtime manifest. The script rejects WiVRn manifests, because WiVRn also identifies itself as Monado internally but connects to the WiVRn IPC socket. If the script starts monado-service, it stops that process after the target exits. Set MONADO_KEEP_SERVICE=1 to keep a service process started by the script running after the target exits.

Developer-Only Content

run-wivrn-server.sh

run-wivrn-server.sh starts the WiVRn server with early active-runtime management.

buildTools/run-wivrn-server.sh

The default command is:

wivrn-server --early-active-runtime

Pass arguments to run wivrn-server with custom options.

buildTools/run-wivrn-server.sh --no-publish-service
buildTools/run-wivrn-server.sh --no-manage-active-runtime

Requirements:

Requirement Details
wivrn-server Required on PATH. Override the executable with WIVRN_SERVER=/path/to/wivrn-server.
WiVRn OpenXR runtime Required for headset runtime use. WiVRn installs and manages its runtime manifest.
Network discovery Required for wireless headset discovery unless --no-publish-service is used.

Run only one OpenXR runtime service path at a time when debugging headset behavior. Use run-monado-debug.sh for local debug-view testing and run-wivrn-server.sh for the WiVRn headset stack.