Aan de slag met OpenXR
U kunt ontwikkelen met behulp van OpenXR op een HoloLens 2 of Windows Mixed Reality immersive headset op het bureaublad. Als u geen toegang hebt tot een headset, kunt u in plaats daarvan de HoloLens 2 Emulator of Windows Mixed Reality Simulator gebruiken.
Aan de slag met OpenXR voor HoloLens 2
Ga als volgende te werk om te beginnen met het ontwikkelen van OpenXR-HoloLens 2:
- Stel een HoloLens 2 of volg de instructies voor het installeren van een recente versie van de HoloLens 2 emulator. OpenXR 1.0 is al gereed voor gebruik als u een recente emulator-afbeelding gebruikt of als het besturingssysteem van het apparaat is bijgewerkt.
- Zorg ervoor dat u de meest recente OpenXR-runtime hebt met alle extensies die aanwezig zijn door de Store-app te starten vanaf het apparaat of de emulator.
- Open het menu in de rechterbovenhoek, selecteer Downloads en updatesen kies Updates downloaden.
Notitie
Als u de emulator gebruikt, wordt de emulator-afbeelding telkens opnieuw ingesteld wanneer u deze start. U kunt dus het beste ervoor zorgen dat u de nieuwste versie van de HoloLens 2-emulator-afbeelding hebt.
Aan de slag met OpenXR voor Windows Mixed Reality headsets
OpenXR-toepassingen ontwikkelen voor immersive Windows Mixed Reality headsets:
- Zorg ervoor dat u ten minste de Update voor Windows 10, mei 2019 (1903) gebruikt. Dit is de minimale vereiste voor eindgebruikers Windows Mixed Reality OpenXR-toepassingen uit te voeren. Als u een eerdere versie van Windows 10 hebt, kunt u een upgrade uitvoeren met behulp van de Windows 10 Update Assistant.
- Stel een headset Windows Mixed Reality of volg de instructies om de simulator Windows Mixed Reality in te stellen.
Dat is alles. De Windows Mixed Reality OpenXR-runtime wordt automatisch geïnstalleerd en actief gemaakt voor alle Windows Mixed Reality gebruikers. De Microsoft Store houdt de runtime up-to-date.
Als u de Windows Mixed Reality OpenXR Runtime opnieuw wilt activeren, start u Mixed Reality-portal vanuit de Startmenu en selecteert u 'Probleem oplossen' bovenaan het venster. Als deze knop ontbreekt, is de OpenXR-runtime al actief.
De OpenXR-Ontwikkelhulpprogramma's voor Windows Mixed Reality
Als u de Windows Mixed Reality OpenXR Runtime wilt uitproberen, kunt u de OpenXR-Ontwikkelhulpprogramma's voor Windows Mixed Reality app installeren. Deze app biedt een demo van verschillende OpenXR-functies, samen met een pagina Systeemstatus met belangrijke informatie over de actieve runtime en de huidige headset.
Wanneer u de HoloLens 2-emulator gebruikt, is de eenvoudigste manier om de OpenXR-Ontwikkelhulpprogramma's voor Windows Mixed Reality te installeren via Windows Apparaatportal. Navigeer naar de pagina OpenXR en klik vervolgens op de knop Installeren onder Ontwikkelfuncties, die ook werkt op fysieke HoloLens 2 apparaten.

De OpenXR-API en voorbeeld-app verkennen
Zorg ervoor dat u de hulpprogramma's installeert die u nodig hebt voor OpenXR-ontwikkeling als u dat nog niet hebt gedaan.
Het BasicXrApp-project toont een eenvoudig OpenXR-voorbeeld met Win32- en UWP-HoloLens 2 in Visual Studio. Omdat de oplossing een HoloLens UWP-project bevat, moet de universal Windows Platform-ontwikkelworkload zijn geïnstalleerd in Visual Studio om deze volledig te openen.
Hoewel de Win32- en UWP-projectbestanden gescheiden zijn vanwege verschillen in verpakking en implementatie, is de app-code in elk project bijna exact hetzelfde.
Uw OpenXR-app uitvoeren
Nadat u een OpenXR Win32-desktop-.EXE hebt gebouwd, kunt u deze gebruiken met een VR-headset op elk VR-bureaubladplatform dat OpenXR ondersteunt, ongeacht het type headset.
Nadat u een OpenXR UWP-app-pakket hebt gebouwd, kunt u dat pakket implementeren op een HoloLens 2 apparaat of de HoloLens 2 Emulator.
Learning OpenXR-API
Bekijk deze 60 minuten durende video van het BasicXrApp-voorbeeld in Visual Studio voor een rondleiding door de OpenXR-API. In de video ziet u hoe elk van de belangrijkste onderdelen van de OpenXR-API kan worden gebruikt in uw eigen engine, en ziet u ook enkele van de toepassingen die momenteel zijn gebouwd op OpenXR:
OpenXR gebruiken in een bestaand project
Om aan de slag te gaan met OpenXR in een bestaand project, moet u het OpenXR-laadaar opnemen. Het laadapparaat detecteert de actieve OpenXR-runtime op het apparaat en biedt toegang tot de belangrijkste functies en extensiefuncties die het implementeert.
U kunt vanuit uw Visual Studio-project verwijzen naar het officiële OpenXR NuGet-pakket of de officiële OpenXR-loaderbron uit de Khronos-GitHub opnemen. Beide benaderingen geven u toegang tot de Kernfuncties van OpenXR 1.0, plus gepubliceerde KHR extensies EXT en MSFT extensies.
Als u ook wilt experimenteren met extensies, kunt u MSFT_previewMSFT_preview uit de Mixed Reality GitHub kopiëren.
Referentie naar het officiële OpenXR NuGet-pakket
Het NuGet-pakket OpenXR.Loader is de eenvoudigste manier om te verwijzen naar een vooraf gebouwde OpenXR-loader .DLL in uw Visual Studio C++-oplossing. Hiermee krijgt u toegang tot openXR 1.0-kernfuncties, plus gepubliceerde KHR extensies EXT en MSFT extensies.
Als u een OpenXR.Loader NuGet-pakketverwijzing wilt toevoegen aan uw Visual Studio C++-oplossing:
- Klik Solution Explorermet de rechtermuisknop op het project dat OpenXR gaat gebruiken en selecteer NuGet-pakketten beheren....
- Ga naar het tabblad Bladeren en zoek naar OpenXR.Loader.
- Selecteer het pakket OpenXR.Loader en selecteer Installeren in het detailvenster aan de rechterkant.
- Selecteer OK om de wijzigingen in uw project te accepteren.
- Voeg
#include <openxr/openxr.h>toe aan een bronbestand om de OpenXR-API te gaan gebruiken.
Als u een voorbeeld van de OpenXR-API in actie wilt zien, bekijkt u de voorbeeld-app BasicXrApp.
Officiële OpenXR-laadbron opnemen
Als u het laadaar zelf wilt bouwen, bijvoorbeeld om het extra loader-.DLL te voorkomen, kunt u de officiële Khronos OpenXR-laadbronnen naar uw project halen. Hiermee krijgt u toegang tot openXR 1.0-kernfuncties, plus gepubliceerde KHR extensies EXT en MSFT extensies.
Volg hier de instructies in de Khronos OpenXR-SDK-repo op GitHub. Het project wordt ingesteld om te bouwen met CMake. Als u MSBuild gebruikt, moet u de code naar uw eigen project kopiëren.
Preview-extensies gebruiken
De MSFT_preview extensies die worden vermeld in het MSFT_preview experimentele leveranciersextensies die worden bekeken om feedback te verzamelen. Deze extensies zijn alleen voor apparaten van ontwikkelaars en worden verwijderd wanneer de echte extensie wordt geleverd.
Als u de beschikbare extensies wilt uitproberen, volgt u MSFT_preview de volgende stappen om uw project bij te werken:
- Volg een van de bovenstaande methoden om een OpenXR-loader te integreren in uw project.
- Vervang de standaard OpenXR-headers in uw project door de preview-headers uit de Mixed Reality OpenXR-repo op GitHub.
Ga als volgende te werk om ondersteuning voor preview-extensies op HoloLens 2 doelcomputer of desktopcomputer te activeren:
- Als u er zeker van wilt zijn dat u de meest recente OpenXR-runtime met alle extensies hebt, start u de Store-app vanuit het doelapparaat of de doelemulator, opent u het menu in de rechterbovenhoek, selecteert u Downloads en updates en kiest u Updates downloaden.
- Installeer de OpenXR-Ontwikkelhulpprogramma's voor Windows Mixed Reality-app Microsoft Store op het doelapparaat en voer deze uit.
- Ga naar het tabblad Developer Instellingen en schakel Use latest preview OpenXR runtime in. Hiermee schakelt u de preview-runtime op uw apparaat in, waarvoor preview-extensies zijn geactiveerd.

- Controleer of de Runtime-versie die wordt weergegeven op het tabblad Systeemstatus van de OpenXR-Ontwikkelhulpprogramma's voor Windows Mixed Reality overeenkomt met de vereiste versie van de preview-extensies die u wilt proberen. Als dat het zo is, ziet u de extensie in de lijst Extensies. Zodra een stabiele extensie beschikbaar is, wordt de preview-extensie verwijderd.

Zie de Mixed Reality OpenXR-repo voor documentatie over deze preview-extensies en voorbeelden van hoe u deze kunt gebruiken.
Problemen oplossen
Als u problemen hebt met het aan de werk gaan met OpenXR-ontwikkeling, bekijkt u onze tips voor probleemoplossing.