Skip to content

A collection of demo applications showcasing the features and capabilities of the xrlib OpenXR wrapper library. Each demo is designed to highlight specific functionality, from basic runtime queries to input and advanced multi-threading and rendering techniques.

License

Notifications You must be signed in to change notification settings

1runeberg/xrlib-demos

Repository files navigation

xrlib demos

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.

Demo Applications

  1. demo-01_checkxr

    • Demonstrates how to query the active OpenXR runtime
    • Shows available extensions and API layers
    • Displays runtime capabilities and system information
  2. demo-02_displayxr -

    • Basic rendering demonstration using xrlib
    • Shows fundamental setup for XR visualization
    • Illustrates basic scene composition
  3. demo-03_passthroughxr

    • Showcases the Facebook Passthrough extension helper class
    • Demonstrates mixed reality capabilities
    • Examples of passthrough visualization configurations
  4. demo-04_handtrackingxr

    • Implementation of the hand tracking extension helper class
    • Displays debug indicators matching user hand joints
    • Shows hand pose detection and tracking
  5. demo-05_inputxr

    inputxr
    • 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

Building

Prerequisites

  1. Required Tools

  2. 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

Building Desktop Applications

  1. Clone the Repository

    git clone [repository-url]
    cd xrlib-demos
    git submodule update --init --recursive
  2. Configure and Build

Windows

```bash
mkdir build
cd build
cmake ..
cmake --build . --config Release
```

Linux

```bash
mkdir build
cd build
cmake ..
make
```

Building Android Applications

  1. Open Android Studio Ladybug or newer
  2. Navigate to the android folder under any specific demo (e.g., demo-01_checkxr/android)
  3. Open the folder as an Android Studio project
  4. Build using Android Studio's build system

Output Locations

After successful build, you'll find the outputs in:

  • Desktop binaries: ./bin/
  • Android APKs: In respective android/app/build/outputs/apk directories

Links

About

A collection of demo applications showcasing the features and capabilities of the xrlib OpenXR wrapper library. Each demo is designed to highlight specific functionality, from basic runtime queries to input and advanced multi-threading and rendering techniques.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published