A collection of demo applications showcasing the features and capabilities of the xrlib OpenXR wrapper library. These demos are designed to highlight a wide range of functionality, including basic runtime queries, input handling, and advanced multi-threading and rendering techniques.
The repository also includes a base class for XR applications (xrapp). This base class serves as a foundation for building XR applications, streamlining development by integrating the xrlib library and renderer.
-
- Demonstrates how to query the active OpenXR runtime
- Shows available extensions and API layers
- Displays runtime capabilities and system information
-
- Basic rendering demonstration using xrlib
- Shows fundamental setup for XR visualization
- Illustrates basic scene composition
-
- Showcases the Facebook Passthrough extension helper class
- Demonstrates mixed reality capabilities
- Examples of passthrough visualization configurations
-
- Implementation of the hand tracking extension helper class
- Displays debug indicators matching user hand joints
- Shows hand pose detection and tracking
-
- Comprehensive demo highlighting input handling
- Advanced PBR (Physically Based Rendering) examples
- Implementation of the display refresh rate extension helper class
- Demonstrates xrlib thread pool manager for multithreading
- Showcases best practices for XR input management
-
Required Tools
- CMake 3.22 or higher
- C++20 compatible compiler
- Vulkan SDK (from https://vulkan.lunarg.com/)
- xrlib (included as submodule)
-
Platform-Specific Requirements
- Windows: Visual Studio 2019 or newer
- Linux: GCC 10+ or Clang 12+
- Android:
- Android Studio Ladybug or newer
- Android NDK
- Android native app glue
-
Clone the Repository
git clone [repository-url] cd xrlib-demos git submodule update --init --recursive
-
Configure and Build
```bash
mkdir build
cd build
cmake ..
cmake --build . --config Release
```
```bash
mkdir build
cd build
cmake ..
make
```
- Open Android Studio Ladybug or newer
- Navigate to the
android
folder under any specific demo (e.g.,demo-01_checkxr/android
) - Open the folder as an Android Studio project
- Build using Android Studio's build system
After successful build, you'll find the outputs in:
- Desktop binaries:
./bin/
- Android APKs: In respective
android/app/build/outputs/apk
directories
- GitHub: https://github.com/1runeberg
- Website: http://runeberg.io
- Social: https://runeberg.social
- YouTube: https://www.youtube.com/@1RuneBerg