Virtual Reality (VR) and Augmented Reality (AR) – collectively ‘XR’ - is impacting a wide variety of industries. It’s not only taking off in gaming, but is being leveraged in medical, retail, education, training, real estate, entertainment, and many more markets. However, the growth of XR is being hampered by industry fragmentation, where a lack of application and device interoperability is caused by each XR platform exposing proprietary APIs. Khronos™ has been working on a solution to this problem, and at SIGGRAPH 2018 is providing a sneak peek into the technical details, and the first public demonstrations of its open standard for VR and AR: OpenXR™.
The Problem: Fragmentation
Figure 1 shows the status of the industry before OpenXR, where each XR runtime exposes proprietary application and device-facing APIs. This means that applications have to be re-written to run on different AR/VR platforms, and peripherals, such as innovative tracking devices, need multiple custom runtime integrations. This creates unwelcome costs, confusion and uncertainty in the market. For example, end users may worry that the VR or AR system they purchase may only run a limited subset of applications.
Khronos’ Solution: the OpenXR AR/VR Interoperability Standard
OpenXR helps solve the fragmentation problem by creating a common application-facing API that all XR runtimes can expose, and an optional device plugin extension that allows any compliant device to operate seamlessly within the OpenXR ecosystem. This creates a win-win-win situation: applications can reach a larger market of more XR systems without have to port or re-write their code; XR devices can self-integrate and be used by any runtime that exposes the OpenXR device integration layer; and finally, XR runtime vendors get access to more applications and devices on their systems.
OpenXR Design Philosophy
OpenXR is being developed by Khronos members that include many of the leading AR/VR companies in the industry. As well as cooperating over the design of cross-platform APIs, these companies are bringing significant experience to the OpenXR working group to help create a forward-looking, future-proof standard.
The OpenXR application-facing API provides core XR functionality such as positional tracking, viewport management, and input event processing. The OpenXR design is extensible so new functionality can be easily added. OpenXR also adopts a similar approach to Vulkan® for efficient application development by enabling installable tools layers to provide debug, verification, performance analysis, and profiling functionality.
As an example of the working group’s forward looking design philosophy, OpenXR uses an action-based input abstraction, which enables applications to define any actions that they want to perform (e.g. “teleport,” “move,” “jump”), and to bind them to the physical input they want to drive that action, e.g. a button click, a moving slider or a gesture. This makes OpenXR applications portable across systems with different input hardware, including future UI devices that have not even been invented yet. As far as the application is concerned, it doesn’t matter if you’re tracking with an optical tracker, an inside-out tracker, or some other yet-to-be invented method of tracking objects in space.
First OpenXR Public Demonstrations at SIGGRAPH 2018
Development of the OpenXR standard started in April 2017, and the working group first publicly discussed design details at GDC in March 2018. As the OpenXR 1.0 specification gets closer to public release, the working group members are engineering multiple independent prototype implementations to ensure the standard’s design is robust and complete.
At SIGGRAPH 2018, we’re excited to show the first public demonstrations of OpenXR using two of these prototypes! Epic’s ‘Showdown’ VR Demo will be running portably across StarVR HMDs and Microsoft Windows Mixed Reality headsets using the OpenXR APIs via an Unreal Engine 4 plugin. No changes are necessary to the application to run across these diverse devices - showing OpenXR portability in action!
You can see the demos in action on the SIGGRAPH show floor and at the OpenXR BOF: Standardizing All the Realities: A Look at OpenXR, at 1 p.m. on August 15.
As always, the vital ingredient to the success of Khronos standards is the number of companies contributing to solving common problems and sharing their expertise. We’re working toward the provisional release of OpenXR 1.0 now, and those interested in getting involved in its creation and evolution are welcome to join us. You can learn more about OpenXR on our website. and other Khronos activities at SIGGRAPH here.
Khronos® and Vulkan® are registered trademarks, and ANARI™, WebGL™, glTF™, NNEF™, OpenVX™, SPIR™, SPIR-V™, SYCL™ and 3D Commerce™ are trademarks of The Khronos Group Inc. OpenXR™ is a trademark owned by The Khronos Group Inc. and is registered as a trademark in China, the European Union, Japan and the United Kingdom. OpenCL™ is a trademark of Apple Inc. and OpenGL® is a registered trademark and the OpenGL ES™ and OpenGL SC™ logos are trademarks of Hewlett Packard Enterprise used under license by Khronos. All other product names, trademarks, and/or company names are used solely for identification and belong to their respective owners.