OpenXR 1.1 Brings Extensions Like Foveated Rendering & More Into The Core Spec

The OpenXR 1.1 specification is now available.

OpenXR is the open industry standard API for native XR app development and runtimes. It’s managed by Khronos, the same non-profit industry consortium that manages OpenGL, Vulkan, and WebGL. The OpenXR working group includes all the major companies in the industry, including Meta, Pico, HTC, Valve, Varjo, and Unity – but notably not Apple.

The OpenXR 1.0 specification was finalized in 2019. Various companies and groups have added extra features on top of the core spec through OpenXR Extensions, and OpenXR 1.1 brings five of these extensions into the core specification to be supported by all devices:

Stereo with Foveated Rendering (promoted from Varjo’s XR_VARJO_quad_views) adds support for either eye-tracked or fixed foveated rendering “across multiple graphics rendering APIs”.Local Floor (promoted from XR_EXT_local_floor), adding a third LOCAL_FLOOR tracking coordinate space type in addition to the existing LOCAL and STAGE. LOCAL is also known as eye-level tracking, and means recentering affects all three axis. With STAGE, recentering does not apply because the center of the coordinate space is the center of the floor in your playspace. The new LOCAL_FLOOR is a middle ground, recentering the two horizontal axis while keeping the vertical aligned with your real floor.Grip Surface (promoted from XR_EXT_palm_pose), a pose that “allows applications to reliably render a virtual object held in the user’s hand, whether it is tracked directly or by a motion controller”.xrLocateSpaces (and its corresponding extension equivalent XR_KHR_locate_spaces), a “function to locate an array of spaces”.XrUuid (promoted from XR_EXT_uuid), a data type to hold a universally unique identifier.The three tracking coordinate space types in OpenXR as of version 1.1.

Khronos says OpenXR 1.1 also delivers “new features and clarifications”, including 13 new interaction profiles, identifiers for thumb resting surfaces, styluses, trigger curl, and trigger slide, proximity detection for controller elements, and localized haptics in the index trigger and under the thumb.

Further, OpenXR 1.1 adds new error codes for insufficient permissions and dependencies not enabled, to help developers with app debugging.

Major companies including Meta, Pico, HTC, Valve, Varjo, and Unity have reiterated their support for OpenXR and expressed their intention to support OpenXR 1.1 – though again, notably not Apple. Apple Vision Pro does not support OpenXR, using its open proprietary ARKit and RealityKit APIs.