Mit unterstützten OpenXR-Erweiterungen entwickeln

XR‑Geräte, für die der Leitfaden gilt
Dieser Leitfaden hilft Ihnen dabei, Erlebnisse für die folgenden Arten von XR-Geräten zu entwickeln.
XR-Headsets
XR-Brille mit Kabel

Android XR unterstützt OpenXR über die OpenXR 1.1-Spezifikation und eine lange Liste von Erweiterungen von Drittanbietern. Die Verwendung dieser Erweiterungen bietet Ihnen die gewohnte Erfahrung bei der Entwicklung für XR. Für einige dieser Funktionen sind Android-Laufzeitberechtigungen erforderlich. Wenn Sie direkt auf den OpenXR-APIs aufbauen möchten, finden Sie die erforderlichen Header-Dateien im jetpack-xr-natives-Repository.

Android XR-Anbieterextensions

Name der Erweiterung

Beschreibung

Spatial API-Version

XR_ANDROID_anchor_sharing_export

Anker, die von einer Anwendung mit XR_ANDROID_trackables erstellt werden, sind an eine bestimmte Sitzung gebunden und daher für andere...

v1

XR_ANDROID_body_tracking

Verwendet die inverse Kinematik, um die Körperposition anhand der Position von Kopf und Händen zu bestimmen.
Berechtigungen:Body Tracking

v2

XR_ANDROID_composition_layer_passthrough_mesh

Für Geräte, die mehrere Mischmodi für die Umgebung unterstützen.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_depth_texture

Mit dieser Erweiterung kann die Anwendung Tiefenkarten der realen Umgebung um das Headset herum anfordern und...
Berechtigungen:SCENE_UNDERSTANDING_FINE

v1

XR_ANDROID_device_anchor_persistence

Diese Erweiterung ermöglicht es der Anwendung, im Hintergrund aktiv zu bleiben.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_enumerate_system_extension_properties

Mit dieser Erweiterung können Anwendungen ermitteln, welche Erweiterungen von der aktuellen Systemkonfiguration unterstützt werden.

v3

XR_ANDROID_eye_tracking

Diese Erweiterung ermöglicht es Anwendungen, die Position und Ausrichtung der Augen des Nutzers sowie den Status der Blickverfolgung abzurufen.
Berechtigungen:EYE_TRACKING_FINE

v1

XR_ANDROID_face_tracking

Mit dieser Erweiterung können Anwendungen Gewichte von Blendshapes abrufen und Gesichtsausdrücke in XR-Erlebnissen rendern.
Berechtigungen:FACE_TRACKING

v1

XR_ANDROID_face_tracking_data_source

Mit dieser Erweiterung können Anwendungen Daten zur Mimik-Erkennung aus mehreren Datenquellen abrufen.
Berechtigungen:FACE_TRACKING, RECORD_AUDIO

v3

XR_ANDROID_hand_mesh

Diese Erweiterung ermöglicht Handtracking-Eingaben, die als dynamisches Hand-Mesh dargestellt werden.
Berechtigungen:HAND_TRACKING

v1

XR_ANDROID_light_estimation

Mit dieser Erweiterung kann die Anwendung Daten anfordern, die die Beleuchtung der realen Umgebung um das Headset herum darstellen.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_light_estimation_cubemap

Diese Erweiterung basiert auf der grundlegenden Erweiterung XR_ANDROID_light_estimation.
Berechtigungen:SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_mouse_interaction

Diese Erweiterung bietet einen XrPath zum Abrufen von Mauseingaben und definiert eine häufig verwendete Aktionspose für Mausprofile von Nutzern…

v1

XR_ANDROID_passthrough_camera_state

Es kann einige Zeit dauern, bis die Passthrough-Kamera gestartet wird. Sie ist möglicherweise nicht sofort verfügbar.

v1

XR_ANDROID_performance_metrics

Diese Erweiterung bietet APIs zum Aufzählen und Abfragen verschiedener Leistungszähler des aktuellen XR-Geräts.

v1

XR_ANDROID_raycast

Mit dieser Erweiterung kann die Anwendung Raycasts für Trackables in der Umgebung ausführen.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_recommended_resolution

Mit dieser Erweiterung kann die Laufzeit die Anwendung benachrichtigen, wenn sich die empfohlene Auflösung ändert.

v1

XR_ANDROID_recommended_settings

Die Standardumgebung des Nutzers kann sich in verschiedenen Zuständen befinden, die durch eine Kombination aus einem Mischmodus und einer Eingabemodalität bestimmt werden.

v1

XR_ANDROID_scene_meshing

Diese Erweiterung soll Meshes bereitstellen, die die physischen Objekte in der Umgebung des Nutzers ungefähr darstellen.

v1

XR_ANDROID_spatial_anchor_space

Mit der in der Erweiterung XR_EXT_spatial_anchor definierten Funktion „xrCreateSpatialAnchorEXT“ können Anwendungen räumliche…
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_annotation_tracking

Diese Erweiterung bietet die Möglichkeit, Anmerkungen für die Erweiterung <<XR_EXT_spatial_entity>> zu verfolgen, um verschiedene...
Berechtigungen: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_component_subsumed_by

Diese Erweiterung basiert auf XR_EXT_spatial_entity und bietet eine neue Komponente für XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT, um...
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_discovery_raycast

Diese Erweiterung basiert auf XR_EXT_spatial_entity und bietet Raycast-Funktionen für vorhandene räumliche Funktionen.
Berechtigungen:SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_entity_bound_anchor

Mit dieser Erweiterung können Anwendungen Anker für räumliche Einheiten erstellen und anhängen.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_object_tracking

Diese Erweiterung baut auf XR_EXT_spatial_entity auf und definiert eine räumliche Funktion zum Verfolgen einer Reihe vordefinierter physischer...
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables

Diese Erweiterung ermöglicht der Anwendung den Zugriff auf Trackables aus der physischen Umgebung.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_image

Mit dieser Erweiterung können planare Bilder anhand von Gruppen von Referenzbildern verfolgt werden.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables_marker

Diese Erweiterung ermöglicht das Tracking von physischen Markern.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_object

Diese Erweiterung ermöglicht die Verfolgung physischer Objekte.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_qr_code

Mit dieser Erweiterung können physische QR‑Codes getrackt und QR‑Code-Daten decodiert werden.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_unbounded_reference_space

Mit dieser Erweiterung können Anwendungen einen XR_REFERENCE_SPACE_TYPE_UNBOUNDED_ANDROID-Referenzraum erstellen.

v1

Erweiterungen von Drittanbietern

Name der Erweiterung

Beschreibung

Spatial API-Version

XR_MND_headless

Einige Anwendungen müssen möglicherweise auf XR-Interaktionsgeräte zugreifen, ohne Bildinhalte auf dem Display oder den Displays zu präsentieren.

v1

XR_KHR_binding_modification

Diese Erweiterung fügt eine optionale Struktur hinzu, die in die XrInteractionProfileSuggestedBinding::next-Kette aufgenommen werden kann, die übergeben wird.

v1

XR_EXT_debug_utils

Aufgrund der Beschaffenheit der OpenXR-Schnittstelle sind für den Entwickler und die Anwendung nur sehr wenige Fehlerinformationen verfügbar.

v1

XR_EXT_hand_tracking

Mit dieser Erweiterung können Anwendungen die einzelnen Gelenke von Handtracking-Eingaben lokalisieren.
Berechtigungen:HAND_TRACKING

v1

XR_EXT_performance_settings

Diese Erweiterung definiert eine API für die Anwendung, um der Laufzeit Leistungshinweise zu geben, und für die Laufzeit, um...

v1

XR_FB_display_refresh_rate

Auf Plattformen, die eine dynamische Anpassung der Aktualisierungsrate des Displays unterstützen.

v1

XR_FB_swapchain_update_state

Mit dieser Erweiterung kann die Anwendung bestimmte veränderliche Zustände ändern und abfragen, die einem Swapchain zugeordnet sind.

v1

XR_FB_foveation

Foveation im Kontext von XR ist eine Rendering-Technik, mit der der Bereich eines Bildes in der Nähe des Brennpunkts oder der Fovea des…

v1

XR_FB_foveation_configuration

Auf Facebook-HMDs können Entwickler Foveation-Profile erstellen, die von der Laufzeit für die optischen Eigenschaften und die Leistung generiert werden.

v1

XR_FB_foveation_vulkan

Für die Vulkan-Grafik-API muss ein Bild auf die Swapchain angewendet werden, um ein Foveationsmuster anzuwenden.

v1

XR_FB_space_warp

Diese Erweiterung bietet Unterstützung für die Aktivierung der Space Warp-Technologie in Anwendungen.

v1

XR_KHR_opengl_es_enable

Diese Erweiterung muss von Laufzeiten bereitgestellt werden, die Anwendungen unterstützen, die OpenGL ES-APIs für das Rendern verwenden.

v1

XR_KHR_android_create_instance

Wenn die Anwendung ein XrInstance-Objekt auf Android-Systemen erstellt.

v1

XR_KHR_android_surface_swapchain

Eine häufige Aktivität in XR ist das Ansehen eines Bildstreams.

v1

XR_KHR_android_thread_settings

Damit XR angenehm ist, müssen Anwendungen Frames schnell und konsistent liefern.

v1

XR_KHR_composition_layer_color_scale_bias

Farbskala und Bias werden auf eine Ebenenfarbe angewendet, nachdem sie in die Darstellung mit vormultipliziertem Alpha konvertiert wurde.

v1

XR_KHR_composition_layer_cube

Diese Erweiterung fügt einen zusätzlichen Layer-Typ hinzu, der das direkte Sampling aus Cubemaps ermöglicht.

v1

XR_KHR_composition_layer_cylinder

Diese Erweiterung fügt einen zusätzlichen Layer-Typ hinzu, bei dem die XR-Laufzeit eine Textur aus einer Swapchain auf die Innenseite abbilden muss.

v1

XR_KHR_composition_layer_depth

Diese Erweiterung definiert einen zusätzlichen Layer-Typ, mit dem Anwendungen Tiefenbilder zusammen mit Farbbildern in...

v1

XR_KHR_composition_layer_equirect

Diese Erweiterung fügt einen zusätzlichen Layer-Typ hinzu, bei dem die XR-Laufzeit ein equirektangulär codiertes Bild, das von einem...

v1

XR_KHR_composition_layer_equirect2

Diese Erweiterung fügt einen zusätzlichen Layer-Typ hinzu, bei dem die XR-Laufzeit ein equirektangulär codiertes Bild, das von einem...

v1

XR_KHR_convert_timespec_time

Diese Erweiterung bietet zwei Funktionen zum Konvertieren zwischen der monotonen Zeit von timespec und XrTime.

v1

XR_KHR_vulkan_enable

Diese Erweiterung ermöglicht die Verwendung der Vulkan-Grafik-API in einer OpenXR-Laufzeit.

v1

XR_KHR_vulkan_enable2

Diese Erweiterung ermöglicht die Verwendung der Vulkan-Grafik-API in einer OpenXR-Laufzeit.

v1

XR_KHR_loader_init

Auf einigen Plattformen muss der Loader mit plattformspezifischen Parametern initialisiert werden, bevor er geladen werden kann.

v1

XR_KHR_loader_init_android

Unter Android müssen bei einigen Loader-Implementierungen zusätzliche Informationen bei der Initialisierung angegeben werden.

v1

XR_KHR_swapchain_usage_input_attachment_bit

Mit dieser Erweiterung kann eine Anwendung angeben, dass Swapchain-Bilder so erstellt werden sollen, dass sie als…

v1

XR_EXT_dpad_binding

Mit dieser Erweiterung kann die Anwendung ein oder mehrere digitale Aktionen an ein Touchpad oder einen Thumbstick binden, als wäre es ein Steuerkreuz…

v1

XR_EXT_uuid

Diese Erweiterung definiert eine UUID (Universally Unique Identifier) gemäß RFC 4122.

v1

XR_FB_composition_layer_depth_test

Diese Erweiterung ermöglicht die Komposition von Ebenen, die auf Tiefe getestet wurden.

v1

XR_EXT_eye_gaze_interaction

Diese Erweiterung bietet einen XrPath zum Abrufen von Blickrichtungseingaben von einem Eyetracker, um Blickrichtung-Interaktionen zu ermöglichen.
Berechtigungen:EYE_TRACKING_FINE

v1

XR_EXT_hand_interaction

Diese Erweiterung definiert vier häufig verwendete Aktionsposen für alle Profile für die Interaktion mit Nutzerhänden, einschließlich Hand-Tracking...

v1

XR_KHR_visibility_mask

Diese Erweiterung unterstützt die Bereitstellung einer Zeichnungsmaske pro Ansicht für Anwendungen.

v1

XR_META_foveation_eye_tracked

Beim Foveated Rendering mit Blickrichtungserkennung wird eine geringere Pixeldichte in der Peripherie des Blicks des Nutzers gerendert.
Berechtigungen:EYE_TRACKING_FINE

v1

XR_FB_hand_tracking_aim

Die Erweiterung „XR_EXT_hand_tracking“ bietet eine Liste von Handgelenksposen, die die aktuelle Konfiguration der...
Berechtigungen:HAND_TRACKING

v1

XR_EXT_palm_pose

Mit dieser Erweiterung wird ein neuer Standard-Pose-Identifier für Interaktionsprofile definiert, nämlich „palm_ext“.

v1

XR_VARJO_foveated_rendering

Varjo-Headsets bieten extrem hochauflösende Displays im mittleren Bereich des Displays.
Berechtigungen:EYE_TRACKING_FINE

v1

XR_VARJO_quad_views

Diese Erweiterung fügt XrViewConfigurationType einen neuen Ansichtskonfigurationstyp hinzu: XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO.

v1

XR_META_vulkan_swapchain_create_info

Mit dieser Erweiterung kann eine Vulkan-basierte Anwendung zusätzliche VkImageCreateFlags oder VkImageUsageFlags übergeben, indem sie...

v1

XR_FB_hand_tracking_mesh

Die Erweiterung XR_EXT_hand_tracking bietet eine Liste von Handgelenksposen, aber keinen Mechanismus zum Rendern eines geriggten Hand-Mesh.
Berechtigungen:HAND_TRACKING

v1

XR_FB_composition_layer_image_layout

Für diese Erweiterung wird kein neuer Typ für die Kompositionsebene definiert.

v1

XR_KHR_maintenance1

XR_KHR_maintenance1 fügt eine Reihe kleinerer Funktionen hinzu, die im ursprünglichen...

v1

XR_FB_composition_layer_settings

Mit dieser Erweiterung können Anwendungen die Verwendung von Verarbeitungsoptionen wie Schärfen oder Super-Sampling auf einem...

v1

XR_KHR_locate_spaces

Diese Erweiterung führt die Funktion xrLocateSpacesKHR ein.

v1

XR_EXT_local_floor

Die OpenXR-Kernspezifikation enthält zwei weltverankerte Referenzraumtypen (XrSpace) in XrReferenceSpaceType.

v1

XR_EXT_spatial_marker_tracking

Diese Erweiterung basiert auf XR_EXT_spatial_entity und ermöglicht es Anwendungen, Markierungen in ihrer Umgebung zu erkennen und zu verfolgen.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_persistence

Mit dieser Erweiterung können Anwendungen räumliche Einheiten über Anwendungssitzungen hinweg erkennen und in Beziehung setzen.
Berechtigungen: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_anchor

Diese Erweiterung basiert auf XR_EXT_spatial_entity und ermöglicht es Anwendungen, räumliche Anker zu erstellen.
Berechtigungen:SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_plane_tracking

Diese Erweiterung basiert auf XR_EXT_spatial_entity und definiert die räumliche Funktion für die Ebenenverfolgung für das Framework für räumliche Einheiten.

v1

XR_EXT_spatial_entity

Diese Erweiterung führt die Konzepte und Grundlagen für das Erkennen von Szenen und räumliches Denken in OpenXR ein.

v1

XR_EXT_future

In XR-Systemen gibt es bestimmte Vorgänge, die lange dauern und nicht innerhalb eines normalen Frame-Loops abgeschlossen werden können.

v1

XR_FB_color_space

XR-Geräte verwenden möglicherweise einen Farbraum, der sich von dem vieler Monitore unterscheidet, die in der Entwicklung verwendet werden.

v1

XR_EXT_composition_layer_inverted_alpha

Diese Erweiterung bietet ein Flag, das bei Anwendung auf eine Kompositionsebene die Interpretation des Alphawerts in...

v1

XR_EXT_frame_synthesis

Diese Erweiterung bietet Unterstützung für die Framesynthese in Anwendungen auf Grundlage zusätzlicher von der Anwendung bereitgestellter Daten.

v3

XR_QCOM_trackables_image_operations

Bietet Qualcomm-Bildverfolgungsoperationen für Trackables.

v3

XR_QCOM_trackables_qr_code_operations

v3

XR_EXT_user_presence

Mit dieser Erweiterung wird ein neues Ereignis eingeführt, das ausgelöst wird, wenn das System eine Änderung der Nutzeranwesenheit erkennt.

v3

XR_KHR_extended_struct_name_lengths

Diese Erweiterung erhöht die maximale Größe von Struct-Namen und bietet eine neue Funktion für den Zugriff auf diese neuen erweiterten Namen.

v3

XR_EXT_interaction_profile_battery_state_display

XR_EXT_interaction_profile_battery_state_display bietet Anwendungen die Möglichkeit, den Akkustand von der Laufzeit abzufragen…

v3


OpenXR™ und das OpenXR-Logo sind Marken von The Khronos Group Inc. und sind als Marke in China, der Europäischen Union, Japan und dem Vereinigten Königreich eingetragen.