OpenxrOpenXR

Openxr ist ein offener, kostenloser API-Standard von Khronos , der Modulen systemeigenen Zugriff auf eine große Bandbreite von Geräten von vielen Anbietern ermöglicht, die sich über das gemischte Reality-Spektrumerstrecken.OpenXR is an open royalty-free API standard from Khronos that provides engines native access to a wide range of devices from many vendors that span across the mixed reality spectrum.

Sie können auf dem Desktop mit openxr auf einem hololens 2-oder Windows Mixed Reality-immersiven Headset entwickeln.You can develop using OpenXR on a HoloLens 2 or Windows Mixed Reality immersive headset on the desktop. Wenn Sie keinen Zugriff auf ein Headset haben, können Sie stattdessen den hololens 2-Emulator oder den Windows Mixed Reality-Simulator verwenden.If you don't have access to a headset, you can use the HoloLens 2 Emulator or the Windows Mixed Reality Simulator instead.

Gründe für openxrWhy OpenXR?

Mit openxr können Sie Engines entwickeln, die sowohl auf Holographic-Geräte (wie hololens 2) abzielen, die digitale Inhalte in der realen Welt platzieren, als wären Sie tatsächlich vorhanden, als auch immersive Geräte (z. b. Windows Mixed Reality-Headsets für Desktop-PCs), die die physische und ersetzen Sie Sie durch eine digitale Umgebung.With OpenXR, you can build engines that target both holographic devices (like HoloLens 2) that place digital content in the real world as if it were really there, as well as immersive devices (like Windows Mixed Reality headsets for desktop PCs) that hide the physical world and replace it with a digital experience. Mit openxr können Sie Code einmal schreiben, der dann über eine große Bandbreite von Hardwareplattformen portabel ist.OpenXR lets you write code once that's then portable across a wide range of hardware platforms.

Die openxr-API verwendet ein Lade Modul, das Ihre Anwendung direkt mit der nativen Platt Form Unterstützung Ihres Headsets verbindet.The OpenXR API uses a loader that connects your application directly to your headset's native platform support. Dies bietet Endbenutzern maximale Leistung und minimale Latenzzeit, unabhängig davon, ob Sie ein Windows Mixed Reality-Headset oder ein anderes Headset verwenden.This offers your end users maximum performance and minimum latency, whether they're using a Windows Mixed Reality headset or any other headset.

Was ist openxr?What is OpenXR?

Die zentrale openxr 1,0-API bietet die Basisfunktionalität, die Sie zum Erstellen eines Moduls benötigen, das sowohl auf Holographic-Geräte als auch auf hololens 2 und immersive Geräte wie Windows Mixed Reality-Headsets ausgerichtet ist:The core OpenXR 1.0 API provides the base functionality you'll need to build an engine that can target both holographic devices like HoloLens 2 and immersive devices like Windows Mixed Reality headsets:

  • Systeme und SitzungenSystems + sessions
  • Verweis Plätze (Ansicht, lokal, Phase)Reference spaces (view, local, stage)
  • Konfigurationen anzeigen (Mono, Stereo)View configurations (mono, stereo)
  • SwapChain + Frame zeitliche SteuerungSwapchains + frame timing
  • Kompositions EbenenComposition layers
  • Eingabe und HaptikInput and haptics
  • Grafik-API + Platt Form IntegrationGraphics API + platform integration

Weitere Informationen zur openxr-API finden Sie in der openxr 1,0-Spezifikation und in der openxr 1,0-API-Referenz.To learn about the OpenXR API, check out the OpenXR 1.0 specification and OpenXR 1.0 API reference. Weitere Informationen finden Sie auf der Seite zu Khronos openxr.For more information, see the Khronos OpenXR page.

Um den vollständigen Feature-Satz von hololens 2 als Ziel festzulegen, verwenden Sie auch herstellerübergreifende und herstellerspezifische openxr-Erweiterungen, die über openxr 1,0 Core hinausgehende Features ermöglichen, wie z. b. die Nachverfolgung von Hand, die Augen Verfolgung, die räumliche Zuordnung und räumliche Anker.To target the full feature set of HoloLens 2, you'll also use cross-vendor and vendor-specific OpenXR extensions that enable additional features beyond the OpenXR 1.0 core, such as articulated hand tracking, eye tracking, spatial mapping and spatial anchors. Weitere Informationen zu den weiter unten in diesem Jahr anstehenden Erweiterungen finden Sie im Abschnitt " Roadmap " weiter unten.See the Roadmap section section below for more information on the extensions coming later this year.

Beachten Sie, dass openxr nicht selbst ein gemischtes Reality-Engine ist.Note that OpenXR is not itself a mixed reality engine. Stattdessen ermöglicht openxr Modulen wie Unity und Unreal das einmalige Schreiben von portablen Code, der dann auf die nativen Plattformfunktionen des Holographic-oder immersiven Geräts des Benutzers zugreifen kann, unabhängig davon, welcher Anbieter diese Plattform erstellt hat.Instead, OpenXR enables engines like Unity and Unreal to write portable code once that can then access the native platform features of the user's holographic or immersive device, regardless of which vendor built that platform.

Getting Started with openxr for hololens 2Getting started with OpenXR for HoloLens 2

So beginnen Sie mit der Entwicklung von openxr-Anwendungen für hololens 2:To start developing OpenXR applications for HoloLens 2:

  1. Richten Sie einen hololens 2 ein, oder befolgen Sie die Anweisungen zum Installieren des hololens 2-Emulators.Set up a HoloLens 2 or follow the instructions to install the HoloLens 2 emulator.
  2. Starten Sie die Store-App innerhalb des Geräts oder Emulators, und stellen Sie sicher, dass alle apps aktualisiert werden.Launch the Store app from within the device or emulator and ensure all apps are updated. Dadurch wird sichergestellt, dass die openxr-Laufzeit auf Ihren hololens auf openxr 1,0 aktualisiert wird.This will ensure that the OpenXR runtime on your HoloLens is updated to OpenXR 1.0. Wenn Sie den Emulator verwenden, sollten Sie sich die Emulator-Eingabe Anweisungen ansehen, damit Sie die Store-App im Emulator verwenden können.If using the emulator, you'll want to consult the emulator input instructions to help you use the Store app within the emulator.

Einstieg in openxr für Windows Mixed Reality-HeadsetsGetting started with OpenXR for Windows Mixed Reality headsets

So beginnen Sie mit der Entwicklung von openxr-Anwendungen für immersive Windows Mixed Reality-Headsets:To start developing OpenXR applications for immersive Windows Mixed Reality headsets:

  1. Stellen Sie sicher, dass Sie das Windows 10-Update "Mai 2019" (1903) ausführen. Dies ist die Mindestanforderung für Endbenutzer von Windows Mixed Reality, openxr-Anwendungen auszuführen.Be sure you are running the Windows 10 May 2019 Update (1903), which is the minimum requirement for Windows Mixed Reality end users to run OpenXR applications. Wenn Sie eine frühere Version von Windows 10 verwenden, können Sie mit dem Windows 10 Update Assistantein Upgrade auf das Update von Mai 2019 durchführen.If you're on an earlier version of Windows 10, you can upgrade to the May 2019 Update using the Windows 10 Update Assistant. Wenn Sie Ihren PC nicht aktualisieren können, ist es auch möglich, die openxr-App mit dem Windows 10-Update vom Oktober 2018 (1809) zu entwickeln, obwohl möglicherweise niedrigere Leistungs-oder andere Probleme auftreten.If you're not able to update your PC, it is also possible to develop your OpenXR app using Windows 10 October 2018 Update (1809), although you may experience lower performance or other issues.
  2. Richten Sie ein Windows Mixed Reality-Headset ein, oder befolgen Sie die Anweisungen zum Aktivieren des Windows Mixed Reality-Simulators.Set up a Windows Mixed Reality headset or follow the instructions to enable the Windows Mixed Reality simulator.
  3. Installieren Sie die app "openxr Developer Portal" in Mixed Reality.Install the Mixed Reality OpenXR Developer Portal app. Wenn Sie diese APP installieren, wird die gemischte Realität openxr Runtime automatisch installiert.Installing this app will automatically install the Mixed Reality OpenXR Runtime. Nachdem die openxr-Laufzeit installiert wurde, wird die Laufzeit vom Microsoft Store auf dem neuesten Stand gehalten.After the OpenXR runtime is installed, the Microsoft Store will keep the runtime up to date.
  4. Führen Sie die Mixed Reality openxr Developer Portal-App über das Startmenü aus, und befolgen Sie die Anweisungen, um die Laufzeit zu aktivieren.Run the Mixed Reality OpenXR Developer Portal app from the Start menu and follow the instructions to make the runtime active.

Gemischte Realität openxr-Entwickler Portal-App

Hinweis

Die gemischte Realität openxr-Laufzeit wird in Kürze allen Windows Mixed Reality-Endbenutzern über die Mixed Reality-Portal-App zur Verfügung gestellt.The Mixed Reality OpenXR Runtime will shortly be available to all Windows Mixed Reality end users through the Mixed Reality Portal app.

Aufbauen einer openxr-Beispiel-AppBuilding a sample OpenXR app

Das basicxrapp -Projekt veranschaulicht ein einfaches openxr-Beispiel mit zwei Visual Studio-Projektdateien, eines für eine Win32-Desktop-App und eines für eine UWP hololens 2-App.The BasicXrApp project demonstrates a simple OpenXR sample with two Visual Studio project files, one for both a Win32 desktop app and one for a UWP HoloLens 2 app. Da die Projekt Mappe ein hololens-UWP-Projekt enthält, benötigen Sie die Arbeitsauslastung der universelle Windows-Plattform Entwicklung , die in Visual Studio installiert ist, um Sie vollständig zu öffnen.Because the solution contains a HoloLens UWP project, you'll need the Universal Windows Platform development workload installed in Visual Studio to fully open it.

Beachten Sie Folgendes: während die Win32-und UWP-Projektdateien aufgrund von Unterschieden bei der Paket Erstellung und Bereitstellung getrennt sind, ist der app-Code in jedem Projekt 100% identisch.Note that while the Win32 and UWP project files are separate due to differences in packaging and deployment, the app code inside each project is 100% the same!

RoadmapRoadmap

Die openxr-Spezifikation definiert einen Erweiterungsmechanismus, mit dem Lauf Zeit Implementierungen zusätzliche Funktionen über die in der Basisversion von openxr 1,0definierten Kernfunktionen hinaus verfügbar machen können.The OpenXR specification defines an extension mechanism that enables runtime implementers to expose additional functionality beyond the core features defined in the base OpenXR 1.0 specification.

Es gibt drei Arten von openxr-Erweiterungen:There are three kinds of OpenXR extensions:

  • Lieferanten Erweiterungen (z. b. msft): Ermöglicht die herstellerspezifische Innovation in Hardware-oder Software Features.Vendor extensions (e.g. MSFT): Enables per-vendor innovation in hardware or software features. Alle Lauf Zeit Hersteller können jederzeit eine Anbieter Erweiterung einführen und versenden.Any runtime vendor can introduce and ship a vendor extension at any time.
  • EXT-Erweiterungen: Anbieter übergreifende Erweiterungen, die von mehreren Unternehmen definiert und implementiert werden.EXT extensions: Cross-vendor extensions that multiple companies define and implement. Gruppen von Interessen Unternehmen können jederzeit ext-Erweiterungen einführen.Groups of interested companies can introduce EXT extensions at any time.
  • KHR-Erweiterungen: Offizielle Khronos-Erweiterungen, die im Rahmen einer Core-Spezifikation-Version ratifiziert wurden.KHR extensions: Official Khronos extensions ratified as part of a core spec release. KHR-Erweiterungen werden durch dieselbe Lizenz abgedeckt wie die Kern Spezifikation selbst.KHR extensions are covered by the same license as the core spec itself.

Am Ende des Jahres unterstützt die openxr-Laufzeit von Mixed Reality eine Reihe von msft-und ext-Erweiterungen, die den vollständigen Satz von hololens 2-Funktionen zu openxr-Anwendungen bringen:By the end of the year, the Mixed Reality OpenXR Runtime will support a set of MSFT and EXT extensions that bring the full set of HoloLens 2 features to OpenXR applications:

Während einige dieser Erweiterungen als anbieterspezifische MSFT-Erweiterungen gestartet werden können, arbeiten Microsoft und andere openxr-Lauf Zeit Anbieter zusammen, um Anbieter übergreifende ext-oder KHR-Erweiterungen für viele dieser Featurebereiche zu entwerfen.While some of these extensions may start out as vendor-specific MSFT extensions, Microsoft and other OpenXR runtime vendors are working together to design cross-vendor EXT or KHR extensions for many of these feature areas. Dadurch kann der Code, den Sie für diese Funktionen schreiben, über Lauf Zeit Anbieter hinweg portabel sein, ebenso wie bei der Kern Spezifikation.This will enable the code you write for those features to be portable across runtime vendors, just as with the core specification.

ProblembehandlungTroubleshooting

Hier finden Sie einige Tipps zur Problembehandlung für die gemischte Realität openxr Runtime.Here are some troubleshooting tips for the Mixed Reality OpenXR Runtime. Wenn Sie weitere Fragen zur openxr 1,0-Spezifikationhaben, besuchen Sie die Khronos openxr-Foren oder Slack #openxr Channel.If you have any other questions about the OpenXR 1.0 specification, please visit the Khronos OpenXR Forums or Slack #openxr channel.

Entwickeln unter Windows 10 Oktober 2018-UpdateDeveloping on Windows 10 October 2018 Update

Wenn Sie ihren Entwicklungs-PC nicht auf das Update von Mai 2019 aktualisierenkönnen, können Sie den Windows 10-Computer vom Oktober 2018 Update (1809) für die Entwicklung einrichten, indem Sie einen weiteren Schritt ausführen:If you're not able to upgrade your development PC to the May 2019 Update, you can set up your Windows 10 October 2018 Update (1809) PC for development by following one more step:

  1. Führen Sie die obigen Schritte aus, um mit openxr auf Ihrem Desktop-PC zu beginnen.Follow the steps above to get started with OpenXR on your desktop PC.
  2. Um die gemischte Realität openxr Runtime als aktive openxr-Laufzeit Ihres Systems festzulegen, installieren Sie das Mixed Reality openxr Developer Compatibility Pack.To set the Mixed Reality OpenXR Runtime as your system's active OpenXR runtime, install the Mixed Reality OpenXR Developer Compatibility Pack.

Hinweis

Obwohl Windows 10 Oktober 2018 Update (1809) für die Entwicklung von openxr-Anwendungen verwendet werden kann, ist das Windows 10-Update von Mai 2019 (1903) die Mindestanforderung für Endbenutzer, openxr mit Windows Mixed Reality zu verwenden.Although Windows 10 October 2018 Update (1809) can be used when developing your OpenXR applications, the Windows 10 May 2019 Update (1903) is the minimum requirement for end users to use OpenXR with Windows Mixed Reality. Beim Ausführen der openxr-App im Oktober 2018-Update treten möglicherweise niedrigere Leistungs-oder andere Probleme auf.You may experience lower performance or other issues when running your OpenXR app on the October 2018 Update. Es wird dringend empfohlen, dass Sie Ihr Entwicklungs-PC auf das Windows 10-Update vom Mai 2019 (1903) aktualisieren.It is strongly recommended that you upgrade your development PC to the Windows 10 May 2019 Update (1903).

Openxr-App startet nicht Windows Mixed RealityOpenXR app not starting Windows Mixed Reality

Wenn Ihre openxr-APP nicht Windows Mixed Reality startet, wenn Sie Sie ausführen, kann die gemischte Realität openxr Runtime nicht als aktive Laufzeit festgelegt werden.If your OpenXR app is not starting Windows Mixed Reality when you run it, the Mixed Reality OpenXR Runtime may not be set as the active runtime. Stellen Sie sicher, dass Sie die Entwickler Portal-App mit gemischter Realität ausführen, und befolgen Sie die Anweisungen, um die Laufzeit zu aktivieren.Be sure to run the Mixed Reality OpenXR Developer Portal app and follow the instructions to make the runtime active.

Die gemischte Realität openxr-Entwickler Portal-App kann nicht installiert werden.Mixed Reality OpenXR Developer Portal app cannot be installed

Stellen Sie sicher, dass mindestens das Windows 10-Update vom Oktober 2018 (1809) ausgeführt wird.Be sure you are running at least the Windows 10 October 2018 Update (1809). Wenn Sie eine frühere Version von Windows 10 verwenden, können Sie mit dem Windows 10 Update Assistantauf das Update von Mai 2019 (1903) aktualisieren.If you're on an earlier version of Windows 10, you can upgrade to the May 2019 Update (1903) using the Windows 10 Update Assistant.

Wenn die Schaltfläche "installieren" in der Mixed Reality-app "openxr-Entwickler Portal" unter Windows 10-Update vom Oktober 2018 nichts bewirkt, hat das System möglicherweise veraltete Systemanforderungen für die APP zwischengespeichert.If the Install button on the Mixed Reality OpenXR Developer Portal app does nothing on Windows 10 October 2018 Update, your system may have cached stale system requirements for the app. Sie können den Befehl wsreset.exe über eine Eingabeaufforderung ausführen, um den Cache zu löschen.You can run the command wsreset.exe from a command prompt to clear the cache.

Siehe auchSee also