Tworzenie aplikacji z obsługiwanymi rozszerzeniami OpenXR

Odpowiednie urządzenia XR
Te wskazówki pomogą Ci tworzyć treści na te typy urządzeń XR.
Gogle XR
Okulary XR z przewodem

Android XR obsługuje OpenXR zgodnie ze specyfikacją OpenXR 1.1 i długą listą rozszerzeń zewnętrznych dostawców. Korzystanie z tych rozszerzeń zapewnia znajome środowisko podczas tworzenia aplikacji na XR. Niektóre z tych funkcji wymagają uprawnień czasu działania na Androidzie. Jeśli chcesz tworzyć aplikacje bezpośrednio na podstawie interfejsów OpenXR API, wymagane pliki nagłówkowe znajdziesz w repozytorium jetpack-xr-natives.

Rozszerzenia dostawcy Androida XR

Nazwa rozszerzenia

Opis

Wersja interfejsu Spatial API

XR_ANDROID_anchor_sharing_export

Punkty zakotwiczenia utworzone przez aplikację za pomocą interfejsu XR_ANDROID_trackables są powiązane z określoną sesją, a więc niewidoczne dla innych…

v1

XR_ANDROID_body_tracking

Wykorzystuje kinematykę odwrotną do określania pozycji ciała na podstawie pozycji głowy i rąk.
Uprawnienia: Body Tracking

v2

XR_ANDROID_composition_layer_passthrough_mesh

W przypadku urządzeń obsługujących wiele trybów mieszania środowiska.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_depth_texture

To rozszerzenie umożliwia aplikacji żądanie map głębi otoczenia rzeczywistego wokół zestawu słuchawkowego i wysyłanie zapytań...
Uprawnienia: SCENE_UNDERSTANDING_FINE

v1

XR_ANDROID_device_anchor_persistence

To rozszerzenie umożliwia utrzymanie aplikacji.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_enumerate_system_extension_properties

To rozszerzenie umożliwia aplikacjom określanie, które rozszerzenia są obsługiwane przez bieżącą konfigurację systemu.

v3

XR_ANDROID_eye_tracking

To rozszerzenie umożliwia aplikacjom uzyskiwanie informacji o pozycji i orientacji oczu użytkownika, a także o stanie śledzenia wzroku.
Uprawnienia: EYE_TRACKING_FINE

v1

XR_ANDROID_face_tracking

To rozszerzenie umożliwia aplikacjom uzyskiwanie wag kształtów mieszanych i renderowanie wyrazów twarzy w środowiskach XR.
Uprawnienia: FACE_TRACKING

v1

XR_ANDROID_face_tracking_data_source

To rozszerzenie umożliwia aplikacjom uzyskiwanie danych śledzenia twarzy z wielu źródeł danych.
Uprawnienia: FACE_TRACKING, RECORD_AUDIO

v3

XR_ANDROID_hand_mesh

To rozszerzenie umożliwia wprowadzanie danych za pomocą śledzenia rąk, które są reprezentowane jako dynamiczna siatka dłoni.
Uprawnienia: HAND_TRACKING

v1

XR_ANDROID_light_estimation

To rozszerzenie umożliwia aplikacji żądanie danych reprezentujących oświetlenie otoczenia w świecie rzeczywistym wokół zestawu słuchawkowego.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_light_estimation_cubemap

To rozszerzenie bazuje na podstawowym rozszerzeniu XR_ANDROID_light_estimation.
Uprawnienia: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_mouse_interaction

To rozszerzenie udostępnia XrPath do uzyskiwania sygnału myszy i określa jedną z najczęściej używanych pozycji działania w profilach myszy użytkownika.

v1

XR_ANDROID_passthrough_camera_state

Uruchomienie kamery podglądu może zająć trochę czasu i nie będzie ona od razu dostępna.

v1

XR_ANDROID_performance_metrics

To rozszerzenie udostępnia interfejsy API do wyliczania i wykonywania zapytań dotyczących różnych liczników danych o wydajności bieżącego urządzenia XR.

v1

XR_ANDROID_raycast

To rozszerzenie umożliwia aplikacji wykonywanie rzutowania promieniowego na obiekty śledzone w środowisku.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_recommended_resolution

To rozszerzenie umożliwia środowisku wykonawczemu powiadamianie aplikacji o zmianie zalecanej rozdzielczości.

v1

XR_ANDROID_recommended_settings

Domyślne środowisko użytkownika może być w różnych stanach, w których stosuje się kombinację trybu mieszania i rodzaju danych wejściowych.

v1

XR_ANDROID_scene_meshing

To rozszerzenie ma na celu dostarczanie siatek, które w przybliżeniu reprezentują obiekty fizyczne w otoczeniu użytkownika.

v1

XR_ANDROID_spatial_anchor_space

Funkcja xrCreateSpatialAnchorEXT zdefiniowana w rozszerzeniu XR_EXT_spatial_anchor umożliwia aplikacjom tworzenie przestrzennych...
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_annotation_tracking

To rozszerzenie zapewnia funkcję śledzenia adnotacji dla rozszerzenia <<XR_EXT_spatial_entity>> w celu śledzenia różnych...
Uprawnienia: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_component_subsumed_by

To rozszerzenie jest oparte na XR_EXT_spatial_entity i zapewnia nowy komponent dla XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT, który...
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_discovery_raycast

To rozszerzenie bazuje na XR_EXT_spatial_entity i zapewnia funkcję raycast dla istniejących funkcji przestrzennych.
Uprawnienia: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_entity_bound_anchor

To rozszerzenie umożliwia aplikacjom tworzenie i dołączanie kotwic do obiektów przestrzennych.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_object_tracking

To rozszerzenie bazuje na XR_EXT_spatial_entity i definiuje funkcję przestrzenną do śledzenia zestawu predefiniowanych obiektów fizycznych...
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables

To rozszerzenie umożliwia aplikacji dostęp do urządzeń śledzących w środowisku fizycznym.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_image

To rozszerzenie umożliwia śledzenie obrazów płaskich określonych przez zestawy wejściowych obrazów referencyjnych.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables_marker

To rozszerzenie umożliwia śledzenie fizycznych znaczników.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_object

To rozszerzenie umożliwia śledzenie obiektów fizycznych.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_qr_code

To rozszerzenie umożliwia śledzenie fizycznych kodów QR i dekodowanie danych z kodów QR.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_unbounded_reference_space

To rozszerzenie umożliwia aplikacjom tworzenie przestrzeni odniesienia XR_REFERENCE_SPACE_TYPE_UNBOUNDED_ANDROID.

v1

Rozszerzenia innych firm

Nazwa rozszerzenia

Opis

Wersja interfejsu Spatial API

XR_MND_headless

Niektóre aplikacje mogą potrzebować dostępu do urządzeń interakcji XR bez wyświetlania treści graficznych na wyświetlaczu lub wyświetlaczach.

v1

XR_KHR_binding_modification

To rozszerzenie dodaje opcjonalną strukturę, którą można uwzględnić w łańcuchu XrInteractionProfileSuggestedBinding::next przekazywanym...

v1

XR_EXT_debug_utils

Ze względu na charakter interfejsu OpenXR deweloper i aplikacja mają dostęp do bardzo niewielkiej ilości informacji o błędach.

v1

XR_EXT_hand_tracking

To rozszerzenie umożliwia aplikacjom lokalizowanie poszczególnych stawów w danych wejściowych śledzenia rąk.
Uprawnienia: HAND_TRACKING

v1

XR_EXT_performance_settings

To rozszerzenie definiuje interfejs API, który umożliwia aplikacji przekazywanie wskazówek dotyczących wydajności do środowiska wykonawczego, a środowisku wykonawczemu wysyłanie...

v1

XR_FB_display_refresh_rate

Na platformach, które obsługują dynamiczne dostosowywanie częstotliwości odświeżania wyświetlacza.

v1

XR_FB_swapchain_update_state

To rozszerzenie umożliwia aplikacji modyfikowanie i wykonywanie zapytań dotyczących określonego stanu zmiennego powiązanego z łańcuchem wymiany.

v1

XR_FB_foveation

Foveation w kontekście XR to technika renderowania, która pozwala na renderowanie obszaru obrazu w pobliżu punktu fokalnego lub dołka środkowego oka...

v1

XR_FB_foveation_configuration

Na goglach VR Facebooka deweloperzy mogą tworzyć profile foveation generowane przez środowisko wykonawcze na podstawie właściwości optycznych i wydajności.

v1

XR_FB_foveation_vulkan

Interfejs graficzny Vulkan wymaga zastosowania obrazu do łańcucha wymiany, aby zastosować wzór foveation.

v1

XR_FB_space_warp

To rozszerzenie umożliwia włączenie technologii space warp w aplikacji.

v1

XR_KHR_opengl_es_enable

To rozszerzenie musi być udostępniane przez środowiska wykonawcze obsługujące aplikacje korzystające z interfejsów API OpenGL ES do renderowania.

v1

XR_KHR_android_create_instance

Gdy aplikacja tworzy obiekt XrInstance w systemach Android.

v1

XR_KHR_android_surface_swapchain

Częstą aktywnością w XR jest wyświetlanie strumienia obrazów.

v1

XR_KHR_android_thread_settings

Aby korzystanie z XR było wygodne, aplikacje muszą szybko i konsekwentnie dostarczać klatki.

v1

XR_KHR_composition_layer_color_scale_bias

Skala kolorów i odchylenie są stosowane do koloru warstwy podczas kompozycji po przekształceniu go w reprezentację z wstępnie pomnożoną wartością alfa.

v1

XR_KHR_composition_layer_cube

To rozszerzenie dodaje dodatkowy typ warstwy, który umożliwia bezpośrednie próbkowanie z map sześciennych.

v1

XR_KHR_composition_layer_cylinder

To rozszerzenie dodaje dodatkowy typ warstwy, w którym środowisko wykonawcze XR musi mapować teksturę pochodzącą z łańcucha wymiany na wewnętrzną…

v1

XR_KHR_composition_layer_depth

To rozszerzenie definiuje dodatkowy typ warstwy, który umożliwia aplikacjom przesyłanie obrazów głębi wraz z obrazami kolorowymi w ramach...

v1

XR_KHR_composition_layer_equirect

To rozszerzenie dodaje dodatkowy typ warstwy, w którym środowisko wykonawcze XR musi mapować obraz zakodowany w projekcji równopowierzchniowej pochodzący z …

v1

XR_KHR_composition_layer_equirect2

To rozszerzenie dodaje dodatkowy typ warstwy, w którym środowisko wykonawcze XR musi mapować obraz zakodowany w projekcji równopowierzchniowej pochodzący z …

v1

XR_KHR_convert_timespec_time

To rozszerzenie udostępnia 2 funkcje do konwertowania czasu monotonicznego timespec na XrTime i odwrotnie.

v1

XR_KHR_vulkan_enable

To rozszerzenie umożliwia korzystanie z interfejsu graficznego Vulkan w środowisku wykonawczym OpenXR.

v1

XR_KHR_vulkan_enable2

To rozszerzenie umożliwia korzystanie z interfejsu graficznego Vulkan w środowisku wykonawczym OpenXR.

v1

XR_KHR_loader_init

Na niektórych platformach przed wczytaniem należy zainicjować moduł wczytujący za pomocą parametrów specyficznych dla platformy.

v1

XR_KHR_loader_init_android

W Androidzie niektóre implementacje modułu wczytującego wymagają, aby aplikacja podawała dodatkowe informacje podczas inicjowania.

v1

XR_KHR_swapchain_usage_input_attachment_bit

To rozszerzenie umożliwia aplikacji określenie, że obrazy łańcucha wymiany powinny być tworzone w taki sposób, aby można było ich używać jako...

v1

XR_EXT_dpad_binding

To rozszerzenie umożliwia aplikacji powiązanie co najmniej 1 działania cyfrowego z touchpadem lub drążkiem, tak jakby był on padem kierunkowym.

v1

XR_EXT_uuid

To rozszerzenie definiuje uniwersalny, unikalny identyfikator zgodny z RFC 4122.

v1

XR_FB_composition_layer_depth_test

To rozszerzenie umożliwia tworzenie warstw z uwzględnieniem głębi.

v1

XR_EXT_eye_gaze_interaction

To rozszerzenie udostępnia XrPath do uzyskiwania danych wejściowych dotyczących wzroku z urządzenia śledzącego wzrok, aby umożliwić interakcje oparte na wzroku.
Uprawnienia: EYE_TRACKING_FINE

v1

XR_EXT_hand_interaction

To rozszerzenie definiuje 4 często używane pozy działania dla wszystkich profili interakcji dłoni użytkownika, w tym śledzenia dłoni…

v1

XR_KHR_visibility_mask

To rozszerzenie umożliwia dostarczanie maski rysowania dla poszczególnych widoków aplikacji.

v1

XR_META_foveation_eye_tracked

Renderowanie z fiksacją śledzoną wzrokiem renderuje mniejszą gęstość pikseli na obrzeżach pola widzenia użytkownika.
Uprawnienia: EYE_TRACKING_FINE

v1

XR_FB_hand_tracking_aim

Rozszerzenie XR_EXT_hand_tracking udostępnia listę pozycji stawów dłoni, które reprezentują bieżącą konfigurację...
Uprawnienia: HAND_TRACKING

v1

XR_EXT_palm_pose

To rozszerzenie definiuje nowy „identyfikator pozycji standardowej” dla profili interakcji o nazwie „palm_ext”.

v1

XR_VARJO_foveated_rendering

Gogle Varjo mają wyświetlacze o bardzo dużej gęstości pikseli w środkowej części.
Uprawnienia: EYE_TRACKING_FINE

v1

XR_VARJO_quad_views

To rozszerzenie dodaje nowy typ konfiguracji widoku – XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO do XrViewConfigurationType...

v1

XR_META_vulkan_swapchain_create_info

Dzięki temu rozszerzeniu aplikacja oparta na Vulkanie może przekazywać dodatkowe flagi VkImageCreateFlags lub VkImageUsageFlags, wykonując te czynności:

v1

XR_FB_hand_tracking_mesh

Rozszerzenie XR_EXT_hand_tracking udostępnia listę pozycji stawów dłoni, ale nie ma mechanizmu renderowania siatki dłoni z teksturą.
Uprawnienia: HAND_TRACKING

v1

XR_FB_composition_layer_image_layout

To rozszerzenie nie definiuje nowego typu warstwy kompozycji.

v1

XR_KHR_maintenance1

XR_KHR_maintenance1 dodaje zbiór drobnych funkcji, które zostały celowo pominięte lub przeoczone w oryginalnej specyfikacji.

v1

XR_FB_composition_layer_settings

To rozszerzenie umożliwia aplikacjom żądanie użycia opcji przetwarzania, takich jak wyostrzanie lub nadpróbkowanie, w przypadku...

v1

XR_KHR_locate_spaces

To rozszerzenie wprowadza funkcję xrLocateSpacesKHR.

v1

XR_EXT_local_floor

Podstawowa specyfikacja OpenXR zawiera 2 typy przestrzeni odniesienia XrSpace zablokowane na świecie w XrReferenceSpaceType.

v1

XR_EXT_spatial_marker_tracking

To rozszerzenie jest oparte na XR_EXT_spatial_entity i umożliwia aplikacjom wykrywanie i śledzenie markerów w ich otoczeniu.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_persistence

To rozszerzenie umożliwia aplikacjom wykrywanie i powiązywanie obiektów przestrzennych w różnych sesjach aplikacji.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_anchor

To rozszerzenie jest oparte na XR_EXT_spatial_entity i umożliwia aplikacjom tworzenie przestrzennych punktów zakotwiczenia.
Uprawnienia: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_plane_tracking

To rozszerzenie bazuje na XR_EXT_spatial_entity i definiuje możliwość śledzenia płaszczyzn w ramach struktury jednostek przestrzennych.

v1

XR_EXT_spatial_entity

To rozszerzenie wprowadza koncepcje i podstawy dotyczące rozumienia sceny i rozumowania przestrzennego w OpenXR.

v1

XR_EXT_future

W systemach XR występują pewne operacje, które trwają długo i nie kończą się w normalnej pętli klatek.

v1

XR_FB_color_space

Urządzenia XR mogą używać przestrzeni kolorów innej niż wiele monitorów używanych podczas tworzenia aplikacji.

v1

XR_EXT_composition_layer_inverted_alpha

To rozszerzenie udostępnia flagę, która po zastosowaniu do warstwy kompozycji odwraca interpretację wartości alfa w...

v1

XR_EXT_frame_synthesis

To rozszerzenie umożliwia syntezę klatek w aplikacjach na podstawie dodatkowych danych dostarczonych przez aplikację.

v3

XR_QCOM_trackables_image_operations

Zapewnia operacje śledzenia obrazu Qualcomm dla obiektów śledzonych.

v3

XR_QCOM_trackables_qr_code_operations

v3

XR_EXT_user_presence

To rozszerzenie wprowadza nowe zdarzenie, które powiadamia o wykryciu przez system zmiany stanu obecności użytkownika.

v3

XR_KHR_extended_struct_name_lengths

To rozszerzenie zwiększa maksymalny rozmiar nazw struktur i udostępnia nową funkcję umożliwiającą dostęp do tych nowych, dłuższych nazw.

v3

XR_EXT_interaction_profile_battery_state_display

XR_EXT_interaction_profile_battery_state_display zapewnia aplikacjom mechanizm wysyłania do środowiska wykonawczego zapytań o stan baterii…

v3


OpenXR™ i logo OpenXR są znakami towarowymi należącymi do The Khronos Group Inc. i są zarejestrowane jako znaki towarowe w Chinach, Unii Europejskiej, Japonii i Wielkiej Brytanii.