OpenXR

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
OpenXR
DeveloperKhronos Group
Stable release
1.1.38 / April 15, 2024; 2 years ago (2024-04-15)[1]
Repositoryregistry.khronos.org/OpenXR/#apispecs
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemCross-platform
    PlatformCross-platform
    TypeVirtual reality and augmented reality API
    LicenseApache License 2.0[2]
    Websitewww.khronos.org/openxr/

    OpenXR is an open-source, royalty-free standard for interfacing with virtual reality and augmented reality devices.[3] It is developed by a working group managed by the Khronos Group consortium. OpenXR was announced by the Khronos Group on February 27, 2017, during GDC 2017.[4][5][6] A provisional version of the standard was released on March 18, 2019, to enable developers and implementers to provide feedback on it.[3] On July 29, 2019, OpenXR 1.0 was released to the public by Khronos Group at SIGGRAPH 2019[7] and on April 15, 2024, OpenXR 1.1 was released by Khronos.[8]

    Reviewers of the 0.90 provisional release considered that the aim of OpenXR was to "Solve AR/VR Fragmentation".[9]

    Architecture

    [edit | edit source]

    The standard provides an API aimed for application developers targeting virtual reality and augmented reality devices. This enables developers to build applications that will work across a wide variety of devices.[10]

    The fundamental elements of this API are:

    • XrSpace: a representation of the 3D space
    • XrInstance: a representation of the OpenXR runtime
    • System and XrSystemId: a representation of the devices, including the virtual reality or augmented reality devices and controllers
    • XrActions: used to handle user inputs
    • XrSession: represents the interaction session between the application and the user

    The full specification can be found via the OpenXR Registry on GitHub.

    Implementations

    [edit | edit source]

    The Khronos Group maintains the list of OpenXR-conformant platforms and products.[11]

    Currently conformant OpenXR platforms are:

    Game and rendering engine support

    [edit | edit source]

    Support for OpenXR application development can be found in the following engines:

    Browser support

    [edit | edit source]

    Roadmap

    [edit | edit source]

    After the release of OpenXR 1.0, progress will likely be driven through the development of extensions to the core API.[34] This can be seen in the subsequent release of extensions for support of hand tracking and eye gaze tracking.[35] As implementers and developers get more experience with the extensions, they could get integrated into the core OpenXR API in future releases.

    Contributors

    [edit | edit source]

    The following companies are listed by Khronos as public supporters of OpenXR:[36]

    See also

    [edit | edit source]
    • OpenVR – Software development kit and application programming interface by Valve
    • WebXR – Experimental JavaScript API for augmented/virtual reality devices

    Proprietary counterparts

    [edit | edit source]
    • ARCore – Software development kit for building augmented reality applications
    • ARKit – Augmented reality API for Apple platforms

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    26. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    28. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    30. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    31. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    32. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    33. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    34. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    35. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    36. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    37. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]