Android XR поддерживает OpenXR через спецификацию OpenXR 1.1 и длинный список расширений сторонних поставщиков. Используя эти расширения, вы получаете привычный опыт при разработке для XR. Для некоторых из этих возможностей требуются динамические разрешения Android. Если вы хотите создавать приложения непосредственно на основе OpenXR API, нужные заголовочные файлы можно найти в репозитории jetpack-xr-natives.
Расширения поставщика Android XR
Название расширения |
Описание |
Версия Spatial API |
|---|---|---|
Якоря, созданные приложением с помощью Разрешения: |
||
Использует инверсную кинематику для определения положения тела на основе положения головы и рук. Разрешения: |
||
Для устройств, поддерживающих несколько режимов смешивания. Разрешения: |
||
Это расширение позволяет приложению запрашивать карты глубины реального окружения вокруг гарнитуры и поддерживаемые разрешения глубины при создании. Разрешения: |
||
Это расширение позволяет приложению сохраняться. Разрешения: |
||
Это расширение позволяет приложениям определять, какие расширения поддерживаются текущей конфигурацией системы. |
||
Это расширение позволяет приложениям получать данные о положении и ориентации глаз пользователя, а также о статусе отслеживания взгляда. Разрешения: |
||
Это расширение позволяет приложениям получать веса форм смешивания и отображать выражения лица в XR. Разрешения: |
||
Это расширение позволяет приложениям получать данные отслеживания лица из нескольких источников. Разрешения: |
||
Это расширение обеспечивает геопространственное отслеживание для Google Geospatial API. Разрешения: |
||
Это расширение предоставляет геопространственные и наземные привязки, которые размещаются в пространстве относительно Земли на заданной широте, долготе и высоте. Разрешения: |
||
Это расширение позволяет приложениям устанавливать и запрашивать глобальный уровень затемнения сквозного режима и получать события при изменении уровня затемнения. |
||
Это расширение позволяет использовать облачные расширения Google Cloud, предоставляя приложению учетные данные для аутентификации в Google Cloud API. |
||
Это расширение позволяет отслеживать движения рук, представленные в виде динамической сетки. Разрешения: |
||
Это расширение позволяет приложению запрашивать данные об освещении в реальном мире вокруг гарнитуры. Разрешения: |
||
Оно основано на базовом расширении Разрешения: |
||
Это расширение предоставляет |
||
Сквозной камере может потребоваться время на запуск, поэтому она может быть доступна не сразу. |
||
Это расширение предоставляет API для перечисления и запроса различных счетчиков показателей эффективности текущего XR-устройства. |
||
Это расширение позволяет приложению выполнять трассировку лучей для отслеживаемых объектов в среде. Разрешения: |
||
Это расширение позволяет среде выполнения уведомлять приложение об изменении рекомендуемого разрешения. |
||
Среда пользователя по умолчанию может находиться в различных состояниях, которые определяются сочетанием режима смешивания и модальности ввода. |
||
Это расширение предназначено для предоставления сеток, которые приблизительно представляют физические объекты в среде пользователя. Разрешения: |
||
Функция В отличие от него, это расширение создает пространственный якорь, который представлен дескриптором Разрешения: |
||
Это расширение позволяет отслеживать различные аннотации в сцене, созданные с помощью расширения Разрешения: |
||
Это расширение основано на Разрешения: |
||
Это расширение добавляет определения пространственных границ, которые позволяют приложениям фильтровать обнаруженные пространственные объекты. Разрешения: |
||
Это расширение основано на XR_EXT_spatial_entity и предоставляет функцию трассировки лучей для существующих пространственных возможностей. Разрешения: |
||
Это расширение позволяет приложениям создавать и прикреплять привязки к пространственным объектам. Разрешения: |
||
Это расширение основано на Разрешения: |
||
Это расширение позволяет приложению получать доступ к отслеживаемым объектам из физической среды. Разрешения: |
||
Это расширение позволяет отслеживать плоские изображения, заданные наборами входных референсных изображений. Разрешения: |
||
Это расширение позволяет отслеживать физические маркеры. Разрешения: |
||
Это расширение позволяет отслеживать физические объекты. Разрешения: |
||
Это расширение позволяет отслеживать физические QR-коды и декодировать данные QR-кодов. Разрешения: |
||
Это расширение позволяет приложениям создавать опорное пространство |
||
Это расширение показывает размытую область, применяемую средой выполнения, чтобы приложение могло размещать элементы интерфейса в безопасной зоне. |
Сторонние расширения
Название расширения |
Описание |
Версия Spatial API |
|---|---|---|
Некоторым приложениям может потребоваться доступ к устройствам взаимодействия XR без показа изображений на дисплее или дисплеях. |
||
Это расширение добавляет необязательную структуру, которую можно включить в цепочку |
||
Из-за особенностей интерфейса OpenXR разработчику и приложению доступно очень мало информации об ошибках. |
||
Это расширение позволяет приложениям определять отдельные суставы при отслеживании рук. Разрешения: |
||
Это расширение определяет API, с помощью которого приложение может передавать подсказки по производительности среде выполнения, а среда выполнения – отправлять приложению уведомления, связанные с производительностью. Это позволяет найти компромисс между производительностью ЦП и графического процессора, тепловой устойчивостью и удобством для пользователя на протяжении всего сеанса. |
||
На платформах, которые поддерживают динамическую настройку частоты обновления экрана. |
||
Это расширение позволяет приложению изменять и запрашивать определенное изменяемое состояние, связанное с цепочкой буферов. |
||
В контексте XR фовеация – это метод рендеринга, который позволяет отображать область изображения вблизи фокальной точки или ямки глаза с более высоким разрешением, чем области на периферии. |
||
На шлемах Facebook разработчики могут создавать профили фовеации, генерируемые средой выполнения для оптических свойств и производительности. |
||
Для применения шаблона фовеации графическому API Vulkan требуется изображение, которое будет применено к цепочке буферов. |
||
Это расширение позволяет включить в приложении технологию Space Warp. |
||
Это расширение должно предоставляться средами выполнения, поддерживающими приложения, которые используют API OpenGL ES для рендеринга. |
||
Когда приложение создает объект XrInstance в системе Android. |
||
Просмотр потока изображений – распространенное действие в XR. |
||
Чтобы пользователю было комфортно в расширенной реальности, приложения должны быстро и стабильно передавать кадры. |
||
Цветовая шкала и смещение применяются к цвету слоя во время композиции после его преобразования в предварительно умноженное альфа-представление. |
||
Это расширение добавляет дополнительный тип слоя, который позволяет напрямую брать выборки из кубических карт. |
||
Это расширение добавляет дополнительный тип слоя, в котором среда выполнения XR должна сопоставить текстуру, полученную из цепочки буферов, с внутренней частью секции цилиндра. Это похоже на то, как зритель видит изображение на изогнутом экране телевизора. |
||
Это расширение определяет дополнительный тип слоя, который позволяет приложениям отправлять изображения глубины вместе с цветными изображениями в слоях проекции. |
||
Это расширение добавляет дополнительный тип слоя, в котором среда выполнения XR должна сопоставить равнопромежуточное закодированное изображение, полученное из цепочки буферов, с внутренней частью сферы. |
||
Это расширение добавляет дополнительный тип слоя, в котором среда выполнения XR должна сопоставить равнопромежуточное закодированное изображение, полученное из цепочки буферов, с внутренней частью сферы. В этом расширении используется другая параметризация, которая больше соответствует формуле |
||
Это расширение предоставляет две функции для преобразования монотонного времени timespec в |
||
Это расширение позволяет использовать Vulkan Graphics API в среде выполнения OpenXR. |
||
Это расширение позволяет использовать Vulkan Graphics API в среде выполнения OpenXR. |
||
На некоторых платформах перед загрузкой необходимо инициализировать загрузчик с параметрами, зависящими от платформы. |
||
В некоторых реализациях загрузчика на Android при инициализации требуется предоставить дополнительную информацию. |
||
Это расширение позволяет приложению указать, что изображения цепочки буферов должны создаваться так, чтобы их можно было использовать в качестве входных прикреплений. На момент написания этой статьи этот бит влияет только на цепочки обмена Vulkan. |
||
Это расширение позволяет приложению привязать одно или несколько цифровых действий к сенсорной панели или стику, как если бы это была крестовина, путем определения дополнительных путей к компонентам, для которых предлагаются привязки. |
||
Это расширение определяет универсальный уникальный идентификатор, соответствующий RFC 4122. |
||
Это расширение позволяет создавать композиции слоев с проверкой глубины. |
||
Это расширение предоставляет Разрешения: |
||
Это расширение определяет четыре часто используемые позы для всех профилей взаимодействия с руками пользователя, включая устройства отслеживания рук и контроллеры движения. |
||
Это расширение позволяет приложениям использовать маску рисования для каждого представления. |
||
При фовеальной отрисовке с отслеживанием взгляда плотность пикселей на периферии поля зрения пользователя снижается. Разрешения: |
||
Расширение Разрешения: |
||
Это расширение определяет новый стандартный идентификатор позы для профилей взаимодействия, который называется palm_ext. |
||
Очки Varjo обеспечивают очень высокую плотность пикселей в центре экрана. Разрешения: |
||
Это расширение добавляет новый тип конфигурации представления – |
||
С помощью этого расширения приложение на основе Vulkan может передавать дополнительные |
||
Расширение Разрешения: |
||
Это расширение не определяет новый тип слоя композиции. |
||
|
||
Это расширение позволяет приложениям запрашивать использование параметров обработки, таких как повышение резкости или суперсемплинг, на слое композиции. |
||
Это расширение добавляет функцию xrLocateSpacesKHR. |
||
Основная спецификация OpenXR содержит два типа |
||
Это расширение основано на Разрешения: |
||
Это расширение позволяет приложениям обнаруживать и сопоставлять пространственные объекты в разных сеансах. Разрешения: |
||
Это расширение основано на Разрешения: |
||
Это расширение основано на Разрешения: |
||
Это расширение содержит концепции и основы для распознавания сцен и пространственного мышления в OpenXR. |
||
В системах расширенной реальности некоторые операции выполняются долго и не могут быть завершены в рамках обычного цикла кадров. |
||
XR-устройства могут использовать цветовое пространство, отличное от многих мониторов, используемых при разработке. |
||
Это расширение предоставляет флаг, который при применении к слою композиции инвертирует интерпретацию значения альфа в изображениях цепочки буферов слоя. |
||
Функция |
||
Это расширение позволяет включить синтез кадров в приложениях на основе дополнительных данных, предоставляемых приложением. |
||
Предоставляет операции отслеживания изображений Qualcomm для отслеживаемых объектов. |
||
Предоставляет операции отслеживания QR-кодов Qualcomm для отслеживаемых объектов. |
||
Это расширение добавляет новое событие, которое сообщает, что система обнаружила изменение статуса пользователя. |
||
Это расширение увеличивает максимальный размер имени структуры и предоставляет новую функцию для доступа к этим новым расширенным именам. |
||
Это расширение дополняет расширение |
||
Это расширение описывает "самостоятельный рендеринг" в контексте пространственных контейнеров. |
||
Это расширение определяет новый класс отображаемых объектов. |
||
Это расширение позволяет приложениям сохранять и удалять пространственные объекты в разных сеансах. Разрешения: |
||
Это расширение основано на Разрешения: |
||
Это расширение основано на Разрешения: |
||
Это расширение позволяет отслеживать изображения для расширения Разрешения: |
||
|
||
Это расширение не определяет новый тип слоя композиции. |
OpenXR™ и логотип OpenXR являются товарными знаками, принадлежащими The Khronos Group Inc. и зарегистрированными в Великобритании, Европейском союзе, Китае и Японии.