|
Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
|
This project uses repository scripts and Blender plugins for build support, documentation checks, and content authoring.
Blender acts as the level editor. The repository provides editor and exporter plugins for engine-specific properties and glTF export.
Asset LSP documents the CLion setup for mesh asset diagnostics, mesh-name completion, and project asset path quick fixes.
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. |
Use these scripts when switching between headset testing and Monado debug-view testing.
run-monado-debug.sh starts Monado in debug GUI mode.
With a target name, the script resolves executables from the binaryDir entries in CMakePresets.json.
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:
The searched Monado manifest paths are:
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.
run-wivrn-server.sh starts the WiVRn server with early active-runtime management.
The default command is:
Pass arguments to run wivrn-server with custom options.
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.