Сборка с использованием поддерживаемых расширений OpenXR.

Применимые устройства XR
Данное руководство поможет вам создавать приложения для устройств XR такого типа.
XR-гарнитуры
Проводные XR-очки

Android XR поддерживает OpenXR через спецификацию OpenXR 1.1 и длинный список расширений от сторонних разработчиков. Использование этих расширений обеспечивает привычный опыт разработки для XR. Для некоторых из этих возможностей требуются разрешения среды выполнения Android . Если вы хотите создавать приложения непосредственно на основе API OpenXR, необходимые заголовочные файлы можно найти в репозитории jetpack-xr-natives .

Расширения поставщика Android XR

Название расширения

Описание

Версия пространственного API

XR_ANDROID_anchor_sharing_export

Якоря, созданные приложением с использованием XR_ANDROID_trackables, привязаны к конкретной сессии и, следовательно, не видны другим...

v1

XR_ANDROID_body_tracking

Использует обратную кинематику для определения положения тела на основе положения головы и рук.
Разрешения: Body Tracking

v2

XR_ANDROID_composition_layer_passthrough_mesh

Для устройств, поддерживающих несколько режимов смешивания окружения.
Права доступа: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_depth_texture

Это расширение позволяет приложению запрашивать карты глубины реального окружения вокруг гарнитуры и выполнять запросы...
Права доступа: SCENE_UNDERSTANDING_FINE

v1

XR_ANDROID_device_anchor_persistence

Это расширение позволяет приложению сохранять свои данные.
Права доступа: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_enumerate_system_extension_properties

Это расширение позволяет приложениям определять, какие расширения поддерживаются текущей конфигурацией системы.

v3

XR_ANDROID_eye_tracking

Это расширение позволяет приложениям получать информацию о положении и ориентации глаз пользователя, а также о состоянии отслеживания взгляда.
Права доступа: EYE_TRACKING_FINE

v1

XR_ANDROID_face_tracking

Это расширение позволяет приложениям получать веса форм смешивания и отображать выражения лица в XR-среде.
Разрешения: FACE_TRACKING

v1

XR_ANDROID_face_tracking_data_source

Это расширение позволяет приложениям получать данные отслеживания лиц из нескольких источников.
Права доступа: FACE_TRACKING , RECORD_AUDIO

v3

XR_ANDROID_hand_mesh

Это расширение позволяет отслеживать движения рук, используя динамическую сетку движений руки.
Права доступа: HAND_TRACKING

v1

XR_ANDROID_light_estimation

Это расширение позволяет приложению запрашивать данные, отражающие освещение реального окружения вокруг гарнитуры.
Права доступа: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_light_estimation_cubemap

Это расширение основано на базовом расширении XR_ANDROID_light_estimation.
Права доступа: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_mouse_interaction

Это расширение предоставляет XrPath для получения ввода с мыши и определяет одну из часто используемых поз действий для пользовательских профилей мыши...

v1

XR_ANDROID_passthrough_camera_state

Для запуска камеры, передающей данные, может потребоваться время, и она может быть недоступна сразу.

v1

XR_ANDROID_performance_metrics

Это расширение предоставляет API для перечисления и запроса различных счетчиков показателей производительности текущего XR-устройства.

v1

XR_ANDROID_raycast

Это расширение позволяет приложению выполнять трассировку лучей по отслеживаемым объектам в окружающей среде.
Права доступа: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_recommended_resolution

Это расширение позволяет среде выполнения уведомлять приложение об изменении рекомендуемого разрешения.

v1

XR_ANDROID_recommended_settings

В среде пользователя по умолчанию могут находиться различные состояния, созданные с помощью комбинации режима смешения и способа ввода.

v1

XR_ANDROID_scene_meshing

Данное расширение предназначено для предоставления моделей, которые приблизительно представляют физические объекты в окружении пользователя.

v1

XR_ANDROID_spatial_anchor_space

Функция xrCreateSpatialAnchorEXT, определенная в расширении XR_EXT_spatial_anchor, позволяет приложениям создавать пространственные...
Права доступа: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_annotation_tracking

Это расширение обеспечивает возможность отслеживания аннотаций для расширения <<XR_EXT_spatial_entity>>, позволяющего отслеживать различные...
Права доступа: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_component_subsumed_by

Это расширение основано на XR_EXT_spatial_entity и предоставляет новый компонент для XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT, чтобы...
Права доступа: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_discovery_raycast

Это расширение основано на XR_EXT_spatial_entity и предоставляет функциональность трассировки лучей для существующих пространственных возможностей.
Права доступа: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_entity_bound_anchor

Это расширение позволяет приложениям создавать и прикреплять привязки к пространственным объектам.
Права доступа: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_object_tracking

Это расширение основано на XR_EXT_spatial_entity и определяет пространственные возможности для отслеживания набора предопределенных физических объектов...
Права доступа: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables

Это расширение позволяет приложению получать доступ к отслеживаемым объектам из физической среды.
Права доступа: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_image

Это расширение позволяет отслеживать плоские изображения в соответствии с заданными наборами входных эталонных изображений.
Права доступа: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables_marker

Это расширение обеспечивает отслеживание физических маркеров.
Права доступа: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_object

Это расширение обеспечивает отслеживание физических объектов.
Права доступа: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_qr_code

Это расширение позволяет отслеживать физические QR-коды и декодировать данные QR-кодов.
Права доступа: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_unbounded_reference_space

Это расширение позволяет приложениям создавать пространство ссылок XR_REFERENCE_SPACE_TYPE_UNBOUNDED_ANDROID.

v1

Сторонние расширения

Название расширения

Описание

Версия пространственного API

XR_MND_headless

Некоторым приложениям может потребоваться доступ к устройствам взаимодействия с XR без отображения какого-либо графического контента на дисплее или дисплеях.

v1

XR_KHR_binding_modification

Это расширение добавляет необязательную структуру, которую можно включить в цепочку XrInteractionProfileSuggestedBinding::next, передаваемую...

v1

XR_EXT_debug_utils

Из-за особенностей интерфейса OpenXR разработчику и приложению доступно очень мало информации об ошибках.

v1

XR_EXT_hand_tracking

Это расширение позволяет приложениям определять местоположение отдельных суставов при отслеживании движений рук.
Права доступа: HAND_TRACKING

v1

XR_EXT_performance_settings

Это расширение определяет API для приложения, позволяющий передавать подсказки по производительности среде выполнения, а также для отправки средой выполнения...

v1

XR_FB_display_refresh_rate

На платформах, поддерживающих динамическую регулировку частоты обновления дисплея.

v1

XR_FB_swapchain_update_state

Это расширение позволяет приложению изменять и запрашивать определенное изменяемое состояние, связанное с цепочкой обменов.

v1

XR_FB_foveation

Фовеация в контексте XR — это метод рендеринга, позволяющий отображать область изображения вблизи фокусной точки или фовеи...

v1

XR_FB_foveation_configuration

На HMD-устройствах Facebook разработчики могут создавать профили фовеации, генерируемые средой выполнения, для учета оптических свойств и характеристик.

v1

XR_FB_foveation_vulkan

Для применения графического API Vulkan к цепочке обмена необходимо приложить изображение, чтобы создать эффект фовеации.

v1

XR_FB_space_warp

Это расширение обеспечивает поддержку для включения технологии искривления пространства в приложениях.

v1

XR_KHR_opengl_es_enable

Это расширение должно предоставляться средами выполнения, поддерживающими приложения, использующие API OpenGL ES для рендеринга.

v1

XR_KHR_android_create_instance

Когда приложение создает объект XrInstance в системах Android.

v1

XR_KHR_android_surface_swapchain

В XR-среде часто встречается просмотр видеопотока.

v1

XR_KHR_android_thread_settings

Для комфортной работы в XR-среде важно, чтобы приложения быстро и стабильно передавали кадры.

v1

XR_KHR_composition_layer_color_scale_bias

Цветовая шкала и смещение применяются к цвету слоя во время композиции после его преобразования в предварительно умноженное альфа-каналное представление.

v1

XR_KHR_composition_layer_cube

Это расширение добавляет дополнительный тип слоя, позволяющий осуществлять прямую выборку данных из кубических карт.

v1

XR_KHR_composition_layer_cylinder

Это расширение добавляет дополнительный тип слоя, в котором среда выполнения XR должна наложить текстуру, полученную из цепочки обменов, на внутреннюю структуру...

v1

XR_KHR_composition_layer_depth

Это расширение определяет дополнительный тип слоя, который позволяет приложениям отправлять изображения глубины вместе с цветными изображениями...

v1

XR_KHR_composition_layer_equirect

Это расширение добавляет дополнительный тип слоя, в котором среда выполнения XR должна отображать эквиректакулярное закодированное изображение, полученное из...

v1

XR_KHR_composition_layer_equirect2

Это расширение добавляет дополнительный тип слоя, в котором среда выполнения XR должна отображать эквиректакулярное закодированное изображение, полученное из...

v1

XR_KHR_convert_timespec_time

Это расширение предоставляет две функции для преобразования между монотонным временем timespec и XrTime.

v1

XR_KHR_vulkan_enable

Это расширение позволяет использовать графический API Vulkan в среде выполнения OpenXR.

v1

XR_KHR_vulkan_enable2

Это расширение позволяет использовать графический API Vulkan в среде выполнения OpenXR.

v1

XR_KHR_loader_init

На некоторых платформах перед загрузкой необходимо инициализировать загрузчик с параметрами, специфичными для данной платформы.

v1

XR_KHR_loader_init_android

В Android некоторые реализации загрузчика требуют от приложения предоставления дополнительной информации при инициализации.

v1

XR_KHR_swapchain_usage_input_attachment_bit

Это расширение позволяет приложению указывать, что образы цепочек обмена должны создаваться таким образом, чтобы их можно было использовать в качестве...

v1

XR_EXT_dpad_binding

Это расширение позволяет приложению привязывать одно или несколько цифровых действий к сенсорной панели или джойстику, как если бы это был обычный D-pad...

v1

XR_EXT_uuid

Это расширение определяет универсальный уникальный идентификатор, соответствующий RFC 4122.

v1

XR_FB_composition_layer_depth_test

Это расширение позволяет создавать слои с проверкой глубины.

v1

XR_EXT_eye_gaze_interaction

Это расширение предоставляет XrPath для получения данных о направлении взгляда от устройства отслеживания взгляда, что позволяет осуществлять взаимодействие с помощью взгляда.
Права доступа: EYE_TRACKING_FINE

v1

XR_EXT_hand_interaction

Это расширение определяет четыре часто используемых положения для всех профилей взаимодействия пользователя с рукой, включая отслеживание движений руки...

v1

XR_KHR_visibility_mask

Это расширение поддерживает предоставление маски отрисовки для каждого вида в приложениях.

v1

XR_META_foveation_eye_tracked

При отслеживании взгляда в фовеальной области отображается меньшая плотность пикселей на периферии поля зрения пользователя.
Права доступа: EYE_TRACKING_FINE

v1

XR_FB_hand_tracking_aim

Расширение XR_EXT_hand_tracking предоставляет список положений суставов кисти, которые отражают текущую конфигурацию...
Права доступа: HAND_TRACKING

v1

XR_EXT_palm_pose

Это расширение определяет новый «стандартный идентификатор позы» для профилей взаимодействия, названный «palm_ext».

v1

XR_VARJO_foveated_rendering

Наушники Varjo обеспечивают чрезвычайно высокую плотность пикселей в центральной части дисплея.
Права доступа: EYE_TRACKING_FINE

v1

XR_VARJO_quad_views

Это расширение добавляет новый тип конфигурации представления — XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO — в XrViewConfigurationType...

v1

XR_META_vulkan_swapchain_create_info

С помощью этого расширения приложение на основе Vulkan может передавать дополнительные флаги VkImageCreateFlags или VkImageUsageFlags путем...

v1

XR_FB_hand_tracking_mesh

Расширение XR_EXT_hand_tracking предоставляет список положений суставов кисти, но не имеет механизма для рендеринга анимированной сетки кисти.
Права доступа: HAND_TRACKING

v1

XR_FB_composition_layer_image_layout

Данное расширение не определяет новый тип слоя композиции.

v1

XR_KHR_maintenance1

XR_KHR_maintenance1 добавляет ряд незначительных функций, которые были намеренно исключены или упущены из виду в оригинальной версии...

v1

XR_FB_composition_layer_settings

Это расширение позволяет приложениям запрашивать использование таких параметров обработки, как повышение резкости или суперсэмплинг...

v1

XR_KHR_locate_spaces

Данное расширение представляет функцию xrLocateSpacesKHR.

v1

XR_EXT_local_floor

Основная спецификация OpenXR содержит два типа XrSpace, привязанных к мировому пространству, в XrReferenceSpaceType.

v1

XR_EXT_spatial_marker_tracking

Это расширение основано на XR_EXT_spatial_entity и позволяет приложениям обнаруживать и отслеживать маркеры в окружающей среде.
Права доступа: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_persistence

Это расширение позволяет приложениям обнаруживать и сопоставлять пространственные объекты в рамках различных сессий приложения.
Права доступа: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_anchor

Это расширение основано на XR_EXT_spatial_entity и позволяет приложениям создавать пространственные привязки.
Права доступа: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_plane_tracking

Это расширение основано на XR_EXT_spatial_entity и определяет возможности отслеживания плоскости в пространственном пространстве для структуры пространственных объектов.

v1

XR_EXT_spatial_entity

Это расширение знакомит с концепциями и основами понимания сцены и пространственного мышления в OpenXR.

v1

XR_EXT_future

В системах XR существуют определенные операции, которые выполняются длительное время и вряд ли завершаются в рамках обычного цикла обработки кадров.

v1

XR_FB_color_space

В устройствах XR может использоваться цветовое пространство, отличающееся от того, что используется во многих мониторах при разработке.

v1

XR_EXT_composition_layer_inverted_alpha

Это расширение предоставляет флаг, который при применении к слою композиции инвертирует интерпретацию значения альфа-канала в...

v1

XR_EXT_frame_synthesis

Это расширение обеспечивает поддержку синтеза кадров в приложениях на основе дополнительных данных, предоставляемых приложением.

v3

XR_QCOM_trackables_image_operations

Предоставляет возможности отслеживания изображений Qualcomm для отслеживаемых объектов.

v3

XR_QCOM_trackables_qr_code_operations

v3

XR_EXT_user_presence

Это расширение добавляет новое событие для уведомления о том, когда система обнаружила изменение статуса присутствия пользователя.

v3

XR_KHR_extended_struct_name_lengths

Это расширение увеличивает максимальный размер имен структур и предоставляет новую функцию для доступа к этим новым расширенным именам.

v3

XR_EXT_interaction_profile_battery_state_display

XR_EXT_interaction_profile_battery_state_display предоставляет приложениям механизм для запроса состояния батареи во время выполнения...

v3


OpenXR™ и логотип OpenXR являются товарными знаками, принадлежащими компании The Khronos Group Inc. и зарегистрированными в качестве товарных знаков в Китае, Европейском Союзе, Японии и Соединенном Королевстве.