OpenXR fundamentals
A project where I followed a tutorial to get a better understanding of how to implement AR/VR into my own projects.
The artifacts visible in this video are not visible in the actual application.
For one of my self-study projects during school, I learned about the OpenXR standard for VR/AR devices and how to implement it for my projects. To do this, I followed the tutorial created by the Kronos group. This tutorial provides a broad overview of the different methods for interacting with VR/AR devices and how to create applications for them. By the end of the tutorial, I created a VR application where the player can move around boxes that represent a floor and a table. Above the table, some cubes can be picked up and moved by the player. There are also cubes where the player’s hands are in the real world.
Link to the tutorial I followed
What did I learn?
The tutorial I followed covered the following:
- Setting up the OpenXR instance and session
- Setting up session event handling
- Setting up rendering buffers for OpenXR
- Setting up rendering for OpenXR
- Setting up Input actions for OpenXR
- Receiving inputs through defined actions (button presses, controller position)
- Providing input through defined actions (controller rumble)
- Adding API layers for debugging
- Adding extensions for extending the API functionality (hand tracking)
- Retrieving function pointers for extension functions