Microsoft Introduces OpenXR to Windows Mixed Reality in a Cross-Platform VR Play
In a move that will help unify cross-platform virtual reality development, Microsoft has just incorporated OpenXR into its Windows Mixed Reality devices. The move is aimed at making it a lot easier to port VR apps and games between various platforms.
Adoption of immersive technologies is growing in leaps and bounds but the potential is stunted by the sheer number of different types of hardware and platforms, particularly where you have games that are exclusive to certain devices. This limits the experience of VR content to within clusters of users who own the compatible devices and locks out the vast majority of other users who might have different types of devices. A good example is the Robo Recall which is available only on the Oculus Rift and not on the HTC Vive unless the Vive user Vive fiddles with some hacks or workarounds.
The cross-platform VR compatibility that OpenXR promises is aimed at addressing this fragmentation in the consumer-grade virtual reality so as to have VR apps capable of working seamlessly across this disparate hardware landscape along with their various runtime environments. So far, even the biggest of immersive reality studios struggle to create apps that will run seamlessly across multiple platforms which highlights the scale of the challenge. Smaller studios are likely to create apps that will run within a limited range of ecosystems thereby denting the reach of various mixed reality applications.
The introduction of OpenXR will not stop certain platforms from creating platform-exclusive games and apps but it will make things a lot easier when the exclusive game ports to another device. With OpenXR, it could even be possible to use a different headset with a different platform. For example, a user could use a PlayStation VR device on a PC.
OpenXR refers to an open and royalty-free platform standard which also includes an application standard interface (API) for developers to build apps capable of running on applications such as Google Daydream and SteamVR and to also build device layer which will enable VR devices to both display and interact with these applications.
Developers using those two layers could potentially enable their games or apps to run on multiple devices and virtual reality platforms thereby eliminating the need to write apps for each and every individual platform. This makes the app creation process less cumbersome and speeds up its deployment across multiple platforms.
The Khronos Group created the OpenXR Standard and it’s already added some of the big players in virtual reality such as Google, Microsoft and Sony. The notable absence among the big names is Apple which could be more inclined to continue with platform-specific XR applications.
With Microsoft’s introduction of OpenXR to Windows Mixed Reality, the platform has become even more flexible and customers now have more choices on the platforms and hardware that they can utilize. This has boosted the reach and accessibility of virtual reality content across board.
With the release of the OpenXR provisional specification on Monday, the Khronos open source working group will aim to create a VR developer ecosystem where developers will be able to code their virtual reality or augmented reality experiences into a single API and still have the assurance that the final application will run smoothly on any headset that is OpenXR-compliant.
OpenXR will enable software developers to run their applications or games across multiple platforms with minimal porting issues since they will be able to access a common set of objects and functions that correspond to the application lifecycle, framing timing, rendering, tracking and input which currently vary across multiple vendor-specific APIs. The unified approach to software development which is platform-invariant will significantly minimize industry fragmentation.
A Unified Approach
The open standard has been a product of two years of collaboration between several member organizations, many of which are some of the biggest names in the AR/VR space. It has involved the difficult work of getting all the players to agree on certain common protocols that would go into the open development standard, an extensible and forward-looking API architecture which also has abstraction layers.
The OpenXR group created a “unified abstraction”. Instead of imposing a unilateral “best way” that VR developers can adhere to, the OpenXR API shifts the focus from the specifics. All the actions required in the app have been abstracted so that a developer will be able to accomplish whatever they wish to with the API.
However, the abstracted actions are each bound to both the varied and specific inputs that are used by the individual OpenXR headsets at the hardware level. So you can easily shift from a HoloLens 2 with hand gesture inputs to a Vive with a distinct button input.
The OpenXR platform also future-proofs the developer as well. OpenXR developers will also be able to use any 3D graphics library that they wish to with the OpenXR platform offering the framework to display the images correctly on any headset.
An Upward Spiral to Widespread Adoption Begins
Currently provisional OpenXR support is only available in two sets of virtual reality headsets. These are the Microsoft’s “Mixed Reality” line of head-mounted devices and the Collabora’s open source “Monado” headset.
Other big players in the niche such as Oculus and Epic have also expressed their intentions to add OpenXR support to their devices later in the year. Khronos expects to have the version 1.0 ready later in the year and this will differ only slightly from its current provisional version.
The biggest challenge right now is signing up the hardware vendors and engine makers on board. The next phase will subsequently involve bringing on board the AR and VR software builders into the new open standard. Khronos is confident that once there is a small critical mass of hardware and engine builders on its OpenXR open standard, developers will logically see the imperative of using the new libraries to code their upcoming projects. It’s going to be a gradual transition and an upward spiral in the coming years.
As the virtual reality and mixed reality landscape expands, everyone eventually wins with OpenXR open standard. On the flipside, some virtual reality companies will also want to stick to their own proprietary API and if they are a mega player, they may want to use their muscle to push that to be the de facto industry standard. There has been precedence with this when Microsoft leveraged its near-monopoly as the operating system for the development of PC video games to promote its own DirectX standard for 3D graphics and cripple the uptake of the open source OpenGL standard. In the increasingly hyper-competitive VR game and application development market, these are challenges that the industry may in the future have to grapple with.
Every open standard eventually has a proprietary nemesis so it is expected that with time, an OpenXR competitor will appear in the horizon. For now, it is the only option for hardware vendors and engine developers. OpenXR creators are hoping that the VR hardware industry might avoid the industry fragmentation that happened in the game development market where you had multiple competing standards. The single open standard is also beneficial to the end users who can now access all the apps they want irrespective of the VR hardware they choose to use. They won’t have to worry about missing out on some cool apps simply for having the “wrong” VR hardware.