Line 6:
Line 6:
Linux supports OpenXR through [[Monado]].
Linux supports OpenXR through [[Monado]].
+
+
{{Infobox software
+
| name = OpenXR
+
| logo = OpenXR logo.svg
+
| author =
+
| developer = [[Khronos Group]]
+
| released =
+
| latest release version = 1.1.38
+
| latest release date = {{Start date and age|2024|04|15}}<ref>{{Cite web |url=https://github.com/KhronosGroup/OpenXR-Docs/blob/main/CHANGELOG.Docs.md |title=Version|website=[[GitHub]] }}</ref>
+
| latest preview version =
+
| latest preview date =
+
| repo = {{URL|https://registry.khronos.org/OpenXR/#apispecs}}
+
| programming language =
+
| operating system = [[Cross-platform]]
+
| platform = Cross-platform
+
| genre = [[Virtual reality]] and [[augmented reality]] [[Application programming interface|API]]
+
| license = [[Apache License|Apache License 2.0]]<ref>{{Cite web|url=https://github.com/KhronosGroup/OpenXR-SDK-Source/blob/master/LICENSE|title=LICENSE|website=[[GitHub]] }}</ref>
+
| website = {{URL|https://www.khronos.org/openxr/}}
+
}}
+
'''OpenXR''' is an [[open-source]], [[royalty-free]] standard for access to [[virtual reality]] and [[augmented reality]] platforms and devices.<ref name="release-0.90"/> 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 [[Game Developers Conference|GDC 2017]].<ref name="khronos-reveal">{{cite web| url=https://www.khronos.org/news/press/khronos-reveals-api-updates-new-workgroups-at-gdc | title=Khronos Reveals API Updates & New Working Groups at GDC
+
| date=2017-02-27
+
| publisher=[[Khronos Group]]
+
| quote=''The Khronos Virtual Reality Initiative announced in December is making rapid progress in designing an open standard for portable Virtual Reality and Augmented Reality apps and devices. Today, Khronos releases the official name of the standard: OpenXR''
+
| access-date=2017-03-08}}</ref><ref name="reveal-tomshardware">{{cite web
+
| url=http://www.tomshardware.com/news/khronos-openxr-working-group-vr,33750.html
+
| title=Khronos Bolsters VR, AR, MR Markets With OpenXR Working Group, API Updates, More
+
| date=2017-02-27
+
| publisher=[[Tom's Hardware]]
+
| access-date=2017-03-08}}</ref><ref name="reveal-uploadvr">{{cite web
+
| url=https://uploadvr.com/gdc-khronos-group-unveils-vr-ar-api-standard-openxr/
+
| title=GDC 2017: Khronos Group Unveils VR/AR Standard OpenXR
+
| date=2017-02-27
+
| publisher=[[UploadVR]]
+
| access-date=2017-03-09}}</ref> A provisional version of the standard was released on March 18, 2019, to enable developers and implementers to provide feedback on it.<ref name="release-0.90">{{cite web |title=Khronos Releases OpenXR 0.90 Provisional Specification for High-performance Access to AR and VR Platforms and Devices |url=https://www.khronos.org/news/press/khronos-releases-openxr-0.90-provisional-specification-for-high-performance-access-ar-vr-platforms-and-devices |website=Khronos.org |access-date=19 March 2020 |date=March 19, 2020| publisher=[[Khronos Group]]}}</ref> On July 29, 2019, OpenXR 1.0 was released to the public by Khronos Group at [[SIGGRAPH|SIGGRAPH 2019]]<ref name=":0">{{Cite web|url=https://www.khronos.org/news/press/khronos-releases-openxr-1.0-specification-establishing-a-foundation-for-the-ar-and-vr-ecosystem|title=Khronos Releases OpenXR 1.0 Specification Establishing a Foundation for the AR and VR Ecosystem|date=2019-07-29|website=The Khronos Group|language=en|access-date=2019-07-31}}</ref> and on April 15, 2024, OpenXR 1.1 was released by Khronos.<ref>{{Cite web |date=2024-04-16 |title=OpenXR 1.1 Brings Foveated Rendering & More Into The Spec |url=https://www.uploadvr.com/openxr-1-1/ |access-date=2024-06-13 |website=UploadVR |language=en}}</ref>
+
+
Reviewers of the 0.90 provisional release considered that the aim of OpenXR was to "Solve AR/VR Fragmentation".<ref name="infoQ">{{cite web
+
| url=https://www.infoq.com/news/2019/03/open-xr-0.90-ar-vr-standard
+
| title=OpenXR 0.90 Aims to Solve AR/VR Fragmentation
+
| date=2019-03-23
+
| publisher=[[InfoQ]]
+
| quote=''With Monday’s release of the OpenXR provisional specification, Khronos’ open source working group wants to create a world where developers can code their VR/AR experience for a single API, with the confidence that the resulting application will work on any OpenXR-compliant headset.''
+
| access-date=2019-06-20}}</ref>
+
+
== Architecture ==
+
The standard provides an [[Application programming interface|API]] aimed for application developers targeting [[virtual reality]] or [[augmented reality]] hardware. This enables developers to build applications that will work across a wide variety of devices.<ref name="kronospres">{{cite web
+
| url=https://www.khronos.org/blog/the-openxr-working-group-is-here
+
| title=The OpenXR Working Group is Here!
+
| date=2017-02-27
+
| publisher=[[Khronos Group]]
+
| quote=''The OpenXR standard comes in two parts. First, the Application Interface, which application developers and middleware providers write to, and which serves to define and combine common, cross-platform functionality(...)Next, the Device Layer allows VR/AR runtimes to interface with various devices''
+
| access-date=2017-03-08}}</ref>
+
+
The fundamental elements of this API are:
+
* <code>XrSpace</code>: a representation of the [[Three-dimensional space|3D space]]
+
* <code>XrInstance</code>: a representation of the OpenXR runtime
+
* System and <code>XrSystemId</code>: a representation of the devices, including the [[Virtual reality]] or [[Augmented reality]] devices and controllers
+
* <code>XrActions</code>: used to handle user inputs
+
* <code>XrSession</code>: represents the interaction session between the application and the user
+
The full specification can be found via the [https://registry.khronos.org/OpenXR/#apispecs OpenXR Registry] on [[GitHub]].
+
+
== Implementations ==
+
+
The [[Khronos Group]] maintains the list of OpenXR-conformant platforms and products.<ref>{{cite web
+
| url=https://www.khronos.org/conformance/adopters/conformant-products/openxr
+
| title=Conformant Products
+
| date=2020-10-26
+
| publisher=[[Khronos Group]]
+
| access-date=2020-10-26}}</ref>
+
+
Currently conformant OpenXR platforms are:
+
+
* [https://www.acer.com/us-en/spatiallabs Acer's Spatial Display Series]<ref>{{Cite web |title=Computex 2023 {{!}} Acer SpatialLabs Pro developer devices are now compatible with OpenXR and SteamVR |url=https://www.notebookcheck.net/Acer-SpatialLabs-Pro-developer-devices-are-now-compatible-with-OpenXR-and-SteamVR.720459.0.html }}</ref>
+
<!--(Once reliable sources are found, uncomment this entry) * All [[Android XR]]-based headsets-->
+
* [[ByteDance|Bytedance's]] Neo3 and PICO4 <ref>{{Cite web |last=Bezmalinovic |first=Tomislav |date=2023-04-14 |title=Pico 4: Bytedance pays top dollar for VR ports |url=https://mixed-news.com/en/pico-4-vr-ports/ |access-date=2024-04-03 |website=MIXED Reality News |language=en-US}}</ref>
+
* [[Canon Inc.|Canon's]] MREAL platform display and headsets<ref>{{Cite web |title=Canon MREAL S1 vs VRgineers XTAL 3 Mixed Reality (Comparison) |url=https://vr-compare.com/compare?h1=A938nJwHj&h2=3OZNWRHku |access-date=2024-04-03 |website=VRcompare |language=en}}</ref>
+
* [[Collabora]] Monado Runtime for GNU/Linux, with the release of version 21.0.0 in February 2021<ref>{{cite web |date=2021-02-15 |title=Monado 21.0.0, an officially conformant OpenXR implementation! |url=https://www.collabora.com/news-and-blog/news-and-events/monado-2100-officially-conformant-openxr-implementation.html |access-date=2021-02-15 |publisher=[[Collabora]]}}</ref>
+
* [[HTC Vive|HTC VIVE]] Cosmos and VIVE Focus 3, part of HTC's VIVERSE ecosystem<ref>{{cite web |title=Conformant Products |url=https://www.khronos.org/conformance/adopters/conformant-products/openxr |access-date=14 March 2022 |website=Khronos Group}}</ref>
+
* [[Magic Leap]] 2<ref>{{Cite web |title=OpenXR Overview {{!}} MagicLeap Developer Documentation |url=https://developer-docs.magicleap.cloud/docs/guides/openxr/openxr-overview/ |access-date=2024-04-03 |website=developer-docs.magicleap.cloud |language=en}}</ref>
+
* [[Oculus VR|Meta's]] PC platform and its Quest line of devices, with full support OpenXR 1.0 added in July 2021<ref>{{cite web |date=2019-09-13 |title=Oculus Rift Has Hidden Preliminary Support For OpenXR |url=https://uploadvr.com/oculus-rift-basic-openxr-support/ |access-date=2020-01-05 |publisher=uploadvr.com}}</ref><ref>{{Cite news |last=VR |first=Oculus |title=OpenXR for Oculus |url=https://developer.oculus.com/blog/openxr-for-oculus/ |access-date=2021-08-25 |website=developer.oculus.com |language=en}}</ref>
+
* [[Microsoft]] [[HoloLens 2]] and the [[Windows Mixed Reality]] headsets <ref>{{cite web
+
| url=https://www.windowscentral.com/openxr-now-available-microsoft-store-windows-mixed-reality
+
| title=OpenXR now available on the Microsoft Store for Windows Mixed Reality
+
| date=2019-07-23
+
| publisher=windowscentral.com
+
| access-date=2020-01-05}}</ref>
+
* [[Qualcomm Snapdragon|Qualcomm Snapdragon Spaces]] XR Developer Platform<ref>{{Cite web |title=Snapdragon Spaces XR Developer Platform Launches to Create Headworn AR Experiences that Adapt to the Spaces Around Us {{!}} Qualcomm |url=https://www.qualcomm.com/news/releases/2021/11/snapdragon-spaces-xr-developer-platform-launches-create-headworn-ar |access-date=2022-08-11 |website=www.qualcomm.com |language=en}}</ref>
+
* [[Sony|Sony's]] Spatial Reality Displays (ELF-SR1 & ELF-SR2)<ref>{{Cite web |title=PROVANTAGE: Sony ELFSR2 27-inch 4K Spatial Reality Display |url=https://www.provantage.com/sony-elfsr2~7SNY92QF.htm |access-date=2024-04-03 |website=www.provantage.com}}</ref>
+
* [[Valve Corporation|Valve]] [[Steam (service)#SteamVR|SteamVR]], since version 1.16 in February 2021 <ref>{{cite web
+
| url=https://steamcommunity.com/games/250820/announcements/detail/3044967019267211915
+
| title=Introducing SteamVR 1.16.8 - Now with full OpenXR support
+
| date=2021-02-25
+
| publisher=[[Valve Corporation|Valve]]
+
| access-date=2021-03-17}}</ref>
+
* [[Varjo]] headsets
+
+
== Game and rendering engine support ==
+
+
Support for OpenXR application development can be found in the following engines:
+
+
* [[Unreal Engine]], with initial support in the 4.24 <ref>{{cite web |date=2019-09-04 |title=Unreal Engine 4.24 Preview now available |url=https://www.unrealengine.com/fr/blog/unreal-engine-4-24-preview-1-now-available |access-date=2020-10-26 |publisher=[[Epic Games]]}}</ref>
+
* [[Blender (software)|Blender]], with initial support in the 2.83 LTS release from June 2020<ref>{{cite web
+
| url=https://www.blender.org/download/releases/2-83/
+
| title=2.83 LTS - blender.org
+
| date=2020-06-03
+
| publisher=[[Blender Foundation]]
+
| access-date=2020-10-26}}</ref>
+
* [[Unity (game engine)|Unity]], with initial support in the 2020.2 release from December 2020<ref>{{Cite web |title=OpenXR Plugin {{!}} OpenXR Plugin {{!}} 0.1.2-preview.2 |url=https://docs.unity3d.com/Packages/com.unity.xr.openxr@0.1/manual/index.html |access-date=2022-06-18 |website=docs.unity3d.com}}</ref>
+
* [[Godot (game engine)|Godot]], with initial support in the 4.0<ref>{{cite web |last=Olij |first=Bastiaan |date=4 July 2021 |title=Godot XR Update - September 2023 |url=https://godotengine.org/article/godot-xr-update-sep-2023/ |access-date=2022-06-18 |website=Godot Engine}}</ref>
+
* [[Autodesk]] VRED<ref>{{Cite web |title=Help |url=https://help.autodesk.com/view/VREDPRODUCTS/2024/ENU/?guid=openxr-vred-20234 |access-date=2024-04-03 |website=help.autodesk.com}}</ref>
+
* [[StereoKit]], developed around OpenXR<ref>{{Cite web |title=StereoKit |url=https://stereokit.net |access-date=2024-04-17 |website=stereokit.net}}</ref>
+
* [[Nvidia Omniverse]]<ref>{{Cite web |last=Schreiner |first=Maximilian |date=2023-08-08 |title=Nvidia Omniverse gets spatial computing update with OpenXR support |url=https://mixed-news.com/en/nvidia-omniverse-gets-spatial-computing-update-with-openxr-support/ |access-date=2024-04-03 |website=MIXED Reality News |language=en-US}}</ref>
+
* [[Unigine]] since version 2.19 from August 2024.<ref>{{cite web |title=UNIGINE SDK 2.19 Release {{!}} UNIGINE: real-time 3D engine |url=https://unigine.com/news/2024/unigine-sdk-2-19-release |website=unigine.com |access-date=20 August 2024}}</ref>
+
+
== Browser support ==
+
+
* [[Google]] [[Google Chrome|Chrome]] and [[Microsoft]] [[Microsoft Edge|Edge]] web browsers both enable [[WebXR]] support using OpenXR by default using the [[Chromium (web browser)|Chromium]] code base<ref>{{cite web
+
| url=https://uploadvr.com/openxr-minecraft-carmack/
+
| title=OpenXR Might Open The Door To Minecraft On Oculus Quest
+
| date=2020-07-28
+
| publisher=[[Road to VR]]
+
| access-date=2020-10-26}}</ref>
+
+
== Roadmap ==
+
After the release of OpenXR 1.0, progress will likely be driven through the development of extensions to the core API.<ref>{{Cite web |date=2019-07-29 |title=Khronos Releases OpenXR 1.0 Specification Establishing a Foundation for the AR and VR Ecosystem |url=https://www.khronos.org/news/press/khronos-releases-openxr-1.0-specification-establishing-a-foundation-for-the-ar-and-vr-ecosystem |access-date=2022-11-19 |website=The Khronos Group |language=en}}</ref> This can be seen in the subsequent release of extensions for support of hand tracking and eye gaze tracking.<ref>{{cite web
+
| url=https://www.khronos.org/news/press/multiple-conformant-openxr-implementations-ship-bringing-to-life-the-dream-of-portable-xr-applications
+
| title=Multiple Conformant OpenXR Implementations Ship Bringing to Life the Dream of Portable XR Applications
+
| date=2020-07-28
+
| publisher=[[Khronos Group]]
+
| access-date=2020-10-26}}</ref>
+
As implementers and developers get more experience with the extensions, they could get integrated into the core OpenXR API in future releases.
+
+
== Contributors ==
+
The following companies are listed by Khronos as public supporters of OpenXR:<ref>{{cite web
+
| url=https://www.khronos.org/openxr
+
| title=OpenXR
+
| date=2019-10-26
+
| publisher=[[Khronos Group]]
+
| access-date=2020-10-26}}</ref>
+
+
{{columns-list|colwidth=15em|
+
* [[Acer_Inc|Acer]]
+
* [[Advanced Micro Devices|AMD]]
+
* Antilatency
+
* AREA
+
* [[ARM Holdings]]
+
* [[Collabora]]
+
* [[DisplayLink]]
+
* [[Epic Games]]
+
* [[Google]]
+
* [[HP Inc.|HP]]
+
* Holochip
+
* [[HTC]]
+
* [[Huawei Technologies]]
+
* [[Imagination Technologies]]
+
* [[Intel Corporation]]
+
* [[LG Electronics]]
+
* [[Logitech]]
+
* [[LunarG]]
+
* [[Magic Leap]]
+
* [[MediaTek]]
+
* [[Meta Platforms Inc.|Meta]]
+
* [[Microsoft]]
+
* [[Mozilla Foundation|Mozilla]]
+
* [[Nokia]]
+
* [[Nvidia]]
+
* PicoVR
+
* Pluto VR
+
* [[Qualcomm]]
+
* [[Razer Inc.]]
+
* [[Samsung Electronics]]
+
* [[Sony Interactive Entertainment]]
+
* [[Tobii Technology]]
+
* [[Leap Motion|Ultraleap]]
+
* [[Unity Technologies]]
+
* [[Valve Corporation|Valve]]
+
* [[Varjo]]
+
* [[VeriSilicon]]
+
* [[Zhaoxin|VIA Alliance Semiconductor Co., Ltd.]]<ref name="via-alliance-english">{{cite web
+
| url=https://en.wikichip.org/wiki/zhaoxin
+
| title=Zhaoxin
+
| publisher=en.wikichip.org
+
| quote=''Zhaoxin (Shanghai Zhaoxin Semiconductor Co., Ltd., also goes by VIA Alliance Semiconductor Co., Ltd.)''
+
| access-date=2018-08-07}}</ref>
+
* [[zSpace (company)|zSpace]]
+
}}
+
+
==See also==
+
* {{Annotated link|OpenVR}}
+
* {{Annotated link|WebXR}}
+
===Proprietary counterparts===
+
* {{Annotated link|ARCore}}
+
* {{Annotated link|ARKit}}
+
+
==References==
+
{{Reflist|colwidth=30em}}
+
+
==External links==
+
* [https://www.khronos.org/registry/OpenXR/specs/1.0/html/xrspec.html OpenXR 1.0 specification]
+
+
{{Khronos Group standards}}
+
{{Virtual reality and Augmented reality}}
+
+
[[Category:3D graphics APIs]]
+
[[Category:Application programming interfaces]]
+
[[Category:Graphics standards]]
+
[[Category:Video game development]]
+
[[Category:Video game engines]]
+
[[Category:Virtual reality]]
+
[[Category:Augmented reality]]
+
[[Category:Mixed reality]]
+
[[Category:Metaverse]]
+
[[Category:Spatial computing]]
+
==References==
==References==