Compila con extensiones OpenXR compatibles

Dispositivos de realidad extendida correspondientes
Esta guía te ayuda a crear experiencias para estos tipos de dispositivos de realidad extendida.
Visores de realidad extendida
Lentes de realidad extendida con cable

Android XR admite OpenXR a través de la especificación de OpenXR 1.1 y una larga lista de extensiones de proveedores externos. El uso de estas extensiones te ofrece esa experiencia familiar cuando desarrollas para XR. Algunas de estas capacidades requieren permisos de tiempo de ejecución de Android. Si deseas compilar directamente en las APIs de OpenXR, puedes encontrar los archivos de encabezado necesarios en el repositorio jetpack-xr-natives.

Extensiones de proveedores de Android XR

Nombre de la extensión

Descripción

Versión de la API de Spatial

XR_ANDROID_anchor_sharing_export

Los anclajes creados por una aplicación con XR_ANDROID_trackables están vinculados a una sesión específica y, por lo tanto, no son visibles para otras…

v1

XR_ANDROID_body_tracking

Usa la IK para determinar la posición del cuerpo en función de la posición de la cabeza y las manos.
Permisos: Body Tracking

v2

XR_ANDROID_composition_layer_passthrough_mesh

Para dispositivos que admiten varios modos de combinación del entorno.
Permisos: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_depth_texture

Esta extensión permite que la aplicación solicite mapas de profundidad del entorno del mundo real que rodea el visor y consulte...
Permisos: SCENE_UNDERSTANDING_FINE

v1

XR_ANDROID_device_anchor_persistence

Esta extensión permite que la aplicación persista.
Permisos: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_enumerate_system_extension_properties

Esta extensión permite que las aplicaciones determinen qué extensiones admite la configuración actual del sistema.

v3

XR_ANDROID_eye_tracking

Esta extensión permite que las aplicaciones obtengan la posición y la orientación de los ojos del usuario, así como el estado del seguimiento de ojos.
Permisos: EYE_TRACKING_FINE

v1

XR_ANDROID_face_tracking

Esta extensión permite que las aplicaciones obtengan pesos de formas combinadas y rendericen expresiones faciales en experiencias de XR.
Permisos: FACE_TRACKING

v1

XR_ANDROID_face_tracking_data_source

Esta extensión permite que las aplicaciones obtengan datos de seguimiento facial de varias fuentes de datos.
Permisos: FACE_TRACKING, RECORD_AUDIO

v3

XR_ANDROID_hand_mesh

Esta extensión habilita las entradas de monitoreo de manos representadas como una malla de mano dinámica.
Permisos: HAND_TRACKING

v1

XR_ANDROID_light_estimation

Esta extensión permite que la aplicación solicite datos que representen la iluminación del entorno del mundo real alrededor del visor.
Permisos: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_light_estimation_cubemap

Esta extensión se basa en la extensión básica XR_ANDROID_light_estimation.
Permisos: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_mouse_interaction

Esta extensión proporciona un XrPath para obtener la entrada del mouse y define una pose de acción de uso frecuente para los perfiles de mouse del usuario…

v1

XR_ANDROID_passthrough_camera_state

La cámara de transferencia puede tardar en iniciarse y es posible que no esté disponible de inmediato.

v1

XR_ANDROID_performance_metrics

Esta extensión proporciona APIs para enumerar y consultar varios contadores de métricas de rendimiento del dispositivo XR actual.

v1

XR_ANDROID_raycast

Esta extensión permite que la aplicación realice raycasts en objetos de seguimiento del entorno.
Permisos: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_recommended_resolution

Esta extensión permite que el tiempo de ejecución notifique a la aplicación cuando cambia la resolución recomendada.

v1

XR_ANDROID_recommended_settings

El entorno predeterminado del usuario puede estar en una variedad de estados con una combinación de un modo de fusión y una modalidad de entrada.

v1

XR_ANDROID_scene_meshing

Esta extensión tiene como objetivo proporcionar mallas que representen aproximadamente los objetos físicos en el entorno del usuario.

v1

XR_ANDROID_spatial_anchor_space

La función xrCreateSpatialAnchorEXT definida en la extensión XR_EXT_spatial_anchor permite que las aplicaciones creen anclajes espaciales…
Permisos: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_annotation_tracking

Esta extensión proporciona la capacidad de seguimiento de anotaciones para la extensión <<XR_EXT_spatial_entity>> para hacer un seguimiento de varios…
Permisos: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_component_subsumed_by

Esta extensión se basa en XR_EXT_spatial_entity y proporciona un nuevo componente para XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT para…
Permisos: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_discovery_raycast

Esta extensión se basa en XR_EXT_spatial_entity y proporciona funcionalidad de raycast para las capacidades espaciales existentes.
Permisos: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_entity_bound_anchor

Esta extensión permite que las aplicaciones creen y adjunten anclajes a entidades espaciales.
Permisos: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_object_tracking

Esta extensión se basa en XR_EXT_spatial_entity y define una capacidad espacial para hacer un seguimiento de un conjunto de entidades físicas predefinidas…
Permisos: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables

Esta extensión permite que la aplicación acceda a los objetos de seguimiento del entorno físico.
Permisos: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_image

Esta extensión permite hacer un seguimiento de imágenes planas según lo especificado por conjuntos de imágenes de referencia de entrada.
Permisos: SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables_marker

Esta extensión habilita el seguimiento de marcadores físicos.
Permisos: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_object

Esta extensión habilita el seguimiento de objetos físicos.
Permisos: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_qr_code

Esta extensión permite el seguimiento físico de códigos QR y la decodificación de datos de códigos QR.
Permisos: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_unbounded_reference_space

Esta extensión permite que las aplicaciones creen un espacio de referencia XR_REFERENCE_SPACE_TYPE_UNBOUNDED_ANDROID.

v1

Extensiones de terceros

Nombre de la extensión

Descripción

Versión de la API de Spatial

XR_MND_headless

Es posible que algunas aplicaciones necesiten acceder a dispositivos de interacción de XR sin presentar contenido de imagen en la pantalla o las pantallas.

v1

XR_KHR_binding_modification

Esta extensión agrega una estructura opcional que se puede incluir en la cadena XrInteractionProfileSuggestedBinding::next que se pasa…

v1

XR_EXT_debug_utils

Debido a la naturaleza de la interfaz de OpenXR, hay muy poca información de errores disponible para el desarrollador y la aplicación.

v1

XR_EXT_hand_tracking

Esta extensión permite que las aplicaciones ubiquen las articulaciones individuales de las entradas de monitoreo de manos.
Permisos: HAND_TRACKING

v1

XR_EXT_performance_settings

Esta extensión define una API para que la aplicación proporcione sugerencias de rendimiento al tiempo de ejecución y para que el tiempo de ejecución envíe…

v1

XR_FB_display_refresh_rate

En plataformas que admiten el ajuste dinámico de la frecuencia de actualización de la pantalla.

v1

XR_FB_swapchain_update_state

Esta extensión permite que la aplicación modifique y consulte un estado mutable específico asociado a una cadena de intercambio.

v1

XR_FB_foveation

La foveación en el contexto de la XR es una técnica de renderización que permite que el área de una imagen cerca del punto focal o la fóvea del…

v1

XR_FB_foveation_configuration

En los HMD de Facebook, los desarrolladores pueden crear perfiles de foveación generados por el tiempo de ejecución para las propiedades ópticas y el rendimiento.

v1

XR_FB_foveation_vulkan

La API de gráficos de Vulkan requiere que se aplique una imagen a la cadena de intercambio para aplicar un patrón de foveación.

v1

XR_FB_space_warp

Esta extensión proporciona compatibilidad para habilitar la tecnología de Space Warp en la aplicación.

v1

XR_KHR_opengl_es_enable

Esta extensión debe proporcionarla los tiempos de ejecución que admiten aplicaciones que usan APIs de OpenGL ES para la renderización.

v1

XR_KHR_android_create_instance

Cuando la aplicación crea un objeto XrInstance en sistemas Android.

v1

XR_KHR_android_surface_swapchain

Una actividad común en la XR es ver una secuencia de imágenes.

v1

XR_KHR_android_thread_settings

Para que la RE sea cómoda, es importante que las aplicaciones rendericen los fotogramas de forma rápida y coherente.

v1

XR_KHR_composition_layer_color_scale_bias

La escala de color y el sesgo se aplican al color de una capa durante la composición, después de su conversión a la representación alfa premultiplicada.

v1

XR_KHR_composition_layer_cube

Esta extensión agrega un tipo de capa adicional que permite el muestreo directo desde mapas de cubo.

v1

XR_KHR_composition_layer_cylinder

Esta extensión agrega un tipo de capa adicional en la que el tiempo de ejecución de XR debe asignar una textura que proviene de una cadena de intercambio al interior…

v1

XR_KHR_composition_layer_depth

Esta extensión define un tipo de capa adicional que permite a las aplicaciones enviar imágenes de profundidad junto con imágenes de color en…

v1

XR_KHR_composition_layer_equirect

Esta extensión agrega un tipo de capa adicional en el que el tiempo de ejecución de XR debe asignar una imagen codificada equirrectangular que proviene de un…

v1

XR_KHR_composition_layer_equirect2

Esta extensión agrega un tipo de capa adicional en el que el tiempo de ejecución de XR debe asignar una imagen codificada equirrectangular que proviene de un…

v1

XR_KHR_convert_timespec_time

Esta extensión proporciona dos funciones para convertir entre el tiempo monotónico de timespec y XrTime.

v1

XR_KHR_vulkan_enable

Esta extensión permite el uso de la API de gráficos de Vulkan en un tiempo de ejecución de OpenXR.

v1

XR_KHR_vulkan_enable2

Esta extensión permite el uso de la API de gráficos de Vulkan en un tiempo de ejecución de OpenXR.

v1

XR_KHR_loader_init

En algunas plataformas, antes de que se pueda realizar la carga, el cargador debe inicializarse con parámetros específicos de la plataforma.

v1

XR_KHR_loader_init_android

En Android, algunas implementaciones de cargadores requieren que la aplicación proporcione información adicional en la inicialización.

v1

XR_KHR_swapchain_usage_input_attachment_bit

Esta extensión permite que una aplicación especifique que las imágenes de la cadena de intercambio se deben crear de manera que se puedan usar como…

v1

XR_EXT_dpad_binding

Esta extensión permite que la aplicación vincule una o más acciones digitales a un panel táctil o joystick analógico como si fuera un pad direccional…

v1

XR_EXT_uuid

Esta extensión define un identificador único universal que sigue el RFC 4122.

v1

XR_FB_composition_layer_depth_test

Esta extensión permite la composición de capas probada en profundidad.

v1

XR_EXT_eye_gaze_interaction

Esta extensión proporciona un XrPath para obtener la entrada de la mirada de un dispositivo de seguimiento ocular y habilitar las interacciones con la mirada.
Permisos: EYE_TRACKING_FINE

v1

XR_EXT_hand_interaction

Esta extensión define cuatro poses de acción de uso frecuente para todos los perfiles de interacción con las manos del usuario, incluido el monitoreo de manos…

v1

XR_KHR_visibility_mask

Esta extensión admite la provisión de una máscara de dibujo por vista para las aplicaciones.

v1

XR_META_foveation_eye_tracked

El renderizado foveal con seguimiento ocular renderiza una densidad de píxeles más baja en la periferia de la mirada del usuario.
Permisos: EYE_TRACKING_FINE

v1

XR_FB_hand_tracking_aim

La extensión XR_EXT_hand_tracking proporciona una lista de poses de articulaciones de la mano que representan la configuración actual de la…
Permisos: HAND_TRACKING

v1

XR_EXT_palm_pose

Esta extensión define un nuevo "identificador de posición estándar" para los perfiles de interacción, llamado "palm_ext".

v1

XR_VARJO_foveated_rendering

Los visores de Varjo proporcionan pantallas con una densidad de píxeles extremadamente alta en el área central de la pantalla.
Permisos: EYE_TRACKING_FINE

v1

XR_VARJO_quad_views

Esta extensión agrega un nuevo tipo de configuración de vista, XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO, a XrViewConfigurationType…

v1

XR_META_vulkan_swapchain_create_info

Con esta extensión, una aplicación basada en Vulkan puede pasar VkImageCreateFlags o VkImageUsageFlags adicionales de la siguiente manera:

v1

XR_FB_hand_tracking_mesh

La extensión XR_EXT_hand_tracking proporciona una lista de poses de articulaciones de la mano, pero no un mecanismo para renderizar una malla de mano con skin.
Permisos: HAND_TRACKING

v1

XR_FB_composition_layer_image_layout

Esta extensión no define un nuevo tipo de capa de composición.

v1

XR_KHR_maintenance1

XR_KHR_maintenance1 agrega una colección de funciones secundarias que se omitieron o pasaron por alto intencionalmente en la versión original…

v1

XR_FB_composition_layer_settings

Esta extensión permite que las aplicaciones soliciten el uso de opciones de procesamiento, como el enfoque o el supermuestreo, en un…

v1

XR_KHR_locate_spaces

Esta extensión presenta la función xrLocateSpacesKHR.

v1

XR_EXT_local_floor

La especificación principal de OpenXR contiene dos tipos de espacios de referencia bloqueados en el mundo XrSpace en XrReferenceSpaceType.

v1

XR_EXT_spatial_marker_tracking

Esta extensión se basa en XR_EXT_spatial_entity y permite que las aplicaciones detecten y hagan un seguimiento de los marcadores en su entorno.
Permisos: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_persistence

Esta extensión permite que las aplicaciones descubran y correlacionen entidades espaciales en las sesiones de la aplicación.
Permisos: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_anchor

Esta extensión se basa en XR_EXT_spatial_entity y permite que las aplicaciones creen anclajes espaciales.
Permisos: SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_plane_tracking

Esta extensión se basa en XR_EXT_spatial_entity y define la capacidad espacial de seguimiento de planos para el framework de entidades espaciales.

v1

XR_EXT_spatial_entity

Esta extensión presenta los conceptos y los fundamentos para la comprensión de escenas y el razonamiento espacial en OpenXR.

v1

XR_EXT_future

En los sistemas de XR, hay ciertas operaciones que tardan en ejecutarse y no se completan de manera razonable dentro de un bucle de fotogramas normal.

v1

XR_FB_color_space

Es posible que los dispositivos de XR usen un espacio de color diferente al de muchos monitores que se usan en el desarrollo.

v1

XR_EXT_composition_layer_inverted_alpha

Esta extensión proporciona una marca que, cuando se aplica a una capa de composición, invierte la interpretación del valor alfa en…

v1

XR_EXT_frame_synthesis

Esta extensión proporciona compatibilidad para habilitar la síntesis de fotogramas en aplicaciones basadas en datos adicionales proporcionados por la aplicación.

v3

XR_QCOM_trackables_image_operations

Proporciona operaciones de seguimiento de imágenes de Qualcomm para objetos rastreables.

v3

XR_QCOM_trackables_qr_code_operations

v3

XR_EXT_user_presence

Esta extensión introduce un nuevo evento para notificar cuando el sistema detectó el cambio de presencia del usuario.

v3

XR_KHR_extended_struct_name_lengths

Esta extensión amplía los tamaños máximos de los nombres de struct y proporciona una nueva función para acceder a estos nuevos nombres extendidos.

v3

XR_EXT_interaction_profile_battery_state_display

XR_EXT_interaction_profile_battery_state_display proporciona un mecanismo para que las aplicaciones consulten el tiempo de ejecución sobre el estado de la batería…

v3


OpenXR™ y el logotipo de OpenXR son marcas comerciales propiedad de The Khronos Group Inc. y están registradas como marcas comerciales en China, la Unión Europea, Japón y el Reino Unido.