Provides a simpler C++ interface to the OpenXR api. Also includes an optional render module introduced in Demo 5 (Hello PBR). Currently an active work in progress with testing done in both Android (Meta Quest), Win64 and Linux.
MIT License
Due to a sudden spike of interest with this project, all pre-built binaries and source assets have been moved to: https://drive.google.com/drive/folders/1gGnYhvCcqvpjAk_Yd3KivGrkCu7dOnNk
Thanks everyone for your support!
Provides a simpler C++ interface to the OpenXR api. Also includes an optional render module introduced in Demo 5 (Hello PBR).
OpenXR Provider Library is now feature complete - demo tutorial vids soon.
The optional render module is currently an active work in progress with testing done in Android (Meta Quest), Win64 and Linux64
OpenXR Provider Library | XRVK - Optional Vulkan Render Module |
---|---|
MSAA support | |
Mesh Instancing | |
Multithreading ( |
|
Improve async asset loading (add async rendering) | |
Animation support and demos ( |
|
XML-style header documentation and resulting refactors (if any) |
Platform prerequisite | Description | YouTube Tutorial |
---|---|---|
Windows & Android | Windows prerequisites and tooling installation & setup | |
Linux | Linux prerequisites and tooling installation & setup | TBD |
Building | Description | YouTube Tutorial |
---|---|---|
Windows | Building for PC, OpenXR app overview and Basic Troubleshooting | |
Android (Meta Quest) | Building for Android Devices (Meta Quest) | |
https://youtu.be/uyDXCbpT9Iw |
You can find pre-built library files as well as Android (Meta Quest) and Win64 builds of all demo applications in the bin_prebuilt
directory.
The library and demos should also build in Linux and Linux ARM, but no testing has been done on this yet.
From demo 4 onwards - PC VR users note that the renderer doesn't render/blit to a desktop mirror. You'll need to use the OpenXR runtime's built-in mirror if you want a desktop view.
{Drive}:\{OpenXR Provider Library Repo Folder}\third_party\openxr_meta
git lfs install
if you haven't already - this ensures you have all the raw binary files in the repository (source art assets, executables, etc)git clone --recurse-submodules https://github.com/1runeberg/OpenXRProvider_v2.git
cd build
). Create one if it's not present, this is where all the cmake files will be generated.cmake ..
or for VS 2017 cmake -G "Visual Studio 15 2017 Win64" ..
) A OPENXR_PROVIDER.sln file is generated in the build directory which you can then open and use in Visual Studio 2019cmake --build .
or open OPENXR_PROVIDER.sln file in Visual Studio and build from VSgit clone --recurse-submodules https://github.com/1runeberg/OpenXRProvider_v2.git
Get Vulkan SDK pacakge from https://vulkan.lunarg.com/sdk/home#linux
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add - sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-focal.list https://packages.lunarg.com/vulkan/lunarg-vulkan-focal.list
run sudo apt-get update
run sudo apt-get install vulkan-sdk
run sudo apt-get install git-all curl libxcb-glx0-dev libsdl2-dev
Get git-lfs package from https://packagecloud.io/github/git-lfs/install
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
Fork repository git fork https://github.com/1runeberg/OpenXRProvider_v2.git
cd OpenXRProvider_v2
Initialize submodules git submodule update --init --recursive
Initialize git lfs git lfs install
mkdir build
cd build
cmake ..
cmake --build .
or open root folder of git repository in Visual Studio Code and run automated build tasks or run cmake --build .
in VSCode's built-in terminal