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 RE. Algunas de estas funciones requieren permisos de tiempo de ejecución de Android. Si quieres 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 |
|---|---|---|
Los anclajes que crea una aplicación a través de Permisos: |
||
Usa la cinemática inversa para determinar la posición del cuerpo según la posición de la cabeza y las manos. Permisos: |
||
Para dispositivos que admiten varios modos de combinación de entornos. Permisos: |
||
Esta extensión permite que la aplicación solicite mapas de profundidad del entorno real alrededor del visor y consulte las resoluciones de profundidad admitidas en el momento de la creación. Permisos: |
||
Esta extensión permite que la aplicación persista. Permisos: |
||
Esta extensión permite que las aplicaciones determinen qué extensiones son compatibles con la configuración actual del sistema. |
||
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: |
||
Esta extensión permite que las aplicaciones obtengan pesos de formas de mezcla y rendericen expresiones faciales en experiencias de RE. Permisos: |
||
Esta extensión permite que las aplicaciones obtengan datos de seguimiento facial de varias fuentes de datos. Permisos: |
||
Esta extensión proporciona el seguimiento geoespacial para la API de Geospatial de Google. Permisos: |
||
Esta extensión proporciona anclas geoespaciales y de superficie que se posicionan en el espacio en relación con la Tierra en una latitud, longitud y altitud determinadas. Permisos: |
||
Esta extensión permite que las aplicaciones establezcan y consulten el nivel de atenuación de la transferencia global, y reciban eventos cuando cambie el nivel de atenuación. |
||
Esta extensión habilita el uso de extensiones basadas en Google Cloud, ya que permite que la aplicación proporcione credenciales de autenticación para las APIs de Google Cloud. |
||
Esta extensión habilita las entradas de monitoreo de manos representadas como una malla de mano dinámica. Permisos: |
||
Esta extensión permite que la aplicación solicite datos que representen la iluminación del entorno real alrededor del visor. Permisos: |
||
Esta extensión se basa en la extensión básica Permisos: |
||
Esta extensión proporciona un |
||
La cámara de transferencia puede tardar en iniciarse y es posible que no esté disponible de inmediato. |
||
Esta extensión proporciona APIs para enumerar y consultar varios contadores de métricas de rendimiento del dispositivo de RE actual. |
||
Esta extensión permite que la aplicación realice raycasts en elementos rastreables del entorno. Permisos: |
||
Esta extensión permite que el entorno de ejecución notifique a la aplicación cuando cambia la resolución recomendada. |
||
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. |
||
Esta extensión está diseñada para proporcionar mallas que representen de forma aproximada los objetos físicos del entorno del usuario. Permisos: |
||
La función En cambio, esta extensión crea un ancla espacial que se representa con un controlador Permisos: |
||
Esta extensión proporciona la capacidad de seguimiento de anotaciones para que la extensión Permisos: |
||
Esta extensión se basa en Permisos: |
||
Esta extensión agrega definiciones para los límites espaciales que permiten que las aplicaciones filtren las entidades espaciales descubiertas. Permisos: |
||
Esta extensión se basa en XR_EXT_spatial_entity y proporciona la funcionalidad de raycast para las capacidades espaciales existentes. Permisos: |
||
Esta extensión permite que las aplicaciones creen y adjunten anclas a entidades espaciales. Permisos: |
||
Esta extensión se basa en Permisos: |
||
Esta extensión permite que la aplicación acceda a los elementos rastreables del entorno físico. Permisos: |
||
Esta extensión permite hacer un seguimiento de las imágenes planas, según lo especificado por los conjuntos de imágenes de referencia de entrada. Permisos: |
||
Esta extensión habilita el seguimiento de marcadores físicos. Permisos: |
||
Esta extensión habilita el seguimiento de objetos físicos. Permisos: |
||
Esta extensión permite el seguimiento de códigos QR físicos y la decodificación de datos de códigos QR. Permisos: |
||
Esta extensión permite que las aplicaciones creen un espacio de referencia |
||
Esta extensión expone el área difuminada que aplica el entorno de ejecución para que una aplicación pueda diseñar elementos de la IU dentro del área segura. |
Extensiones de terceros
Nombre de la extensión |
Descripción |
Versión de la API de Spatial |
|---|---|---|
Es posible que algunas aplicaciones necesiten acceder a dispositivos de interacción de XR sin presentar ningún contenido de imagen en la pantalla o las pantallas. |
||
Esta extensión agrega una estructura opcional que se puede incluir en la cadena
|
||
Debido a la naturaleza de la interfaz de OpenXR, hay muy poca información de error disponible para el desarrollador y la aplicación. |
||
Esta extensión permite que las aplicaciones ubiquen las articulaciones individuales de las entradas de monitoreo de manos. Permisos: |
||
Esta extensión define una API para que la aplicación proporcione sugerencias de rendimiento al entorno de ejecución y para que este envíe notificaciones relacionadas con el rendimiento a la aplicación. Esto permite que ambas partes alcancen un compromiso adecuado entre el rendimiento necesario de la CPU y la GPU, la sustentabilidad térmica y una experiencia del usuario coherente y buena durante toda la sesión. |
||
En plataformas que admiten el ajuste dinámico de la frecuencia de actualización de la pantalla |
||
Esta extensión permite que la aplicación modifique y consulte un estado mutable específico asociado con una cadena de intercambio. |
||
La foveación en el contexto de la RE es una técnica de renderización que permite que el área de una imagen cercana al punto focal o a la fóvea del ojo se muestre con una resolución más alta que las áreas de la periferia. |
||
En los HMD de Facebook, los desarrolladores pueden crear perfiles de foveación generados por el entorno de ejecución para las propiedades ópticas y el rendimiento. |
||
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. |
||
Esta extensión proporciona compatibilidad para habilitar la tecnología de deformación espacial en la aplicación. |
||
Los entornos de ejecución que admiten aplicaciones que usan las APIs de OpenGL ES para la renderización deben proporcionar esta extensión. |
||
Cuando la aplicación crea un objeto XrInstance en sistemas Android |
||
Una actividad común en la XR es ver un flujo de imágenes. |
||
Para que la RE sea cómoda, es importante que las aplicaciones entreguen fotogramas de forma rápida y coherente. |
||
La escala de color y el sesgo se aplican a un color de capa durante la composición, después de su conversión a una representación alfa premultiplicada. |
||
Esta extensión agrega un tipo de capa adicional que permite el muestreo directo de mapas de cubo. |
||
Esta extensión agrega un tipo de capa adicional en el que el entorno de ejecución de XR debe asignar una textura que provenga de una cadena de intercambio en el interior de una sección de cilindro. Se puede imaginar de la misma manera que un espectador ve una pantalla de televisión curva. |
||
Esta extensión define un tipo de capa adicional que permite que las aplicaciones envíen imágenes de profundidad junto con imágenes de color en capas de proyección. |
||
Esta extensión agrega un tipo de capa adicional en el que el entorno de ejecución de XR debe asignar una imagen codificada equirrectangular que provenga de una cadena de intercambio en el interior de una esfera. |
||
Esta extensión agrega un tipo de capa adicional en el que el entorno de ejecución de XR debe asignar una imagen codificada equirrectangular que provenga de una cadena de intercambio en el interior de una esfera. Esta extensión usa una parametrización diferente que se ajusta más a la formulación de |
||
Esta extensión proporciona dos funciones para realizar conversiones entre el tiempo monótono de timespec y |
||
Esta extensión permite el uso de la API de gráficos de Vulkan en un entorno de ejecución de OpenXR. |
||
Esta extensión permite el uso de la API de gráficos de Vulkan en un entorno de ejecución de OpenXR. |
||
En algunas plataformas, antes de que se pueda realizar la carga, se debe inicializar el cargador con parámetros específicos de la plataforma. |
||
En Android, algunas implementaciones de cargadores necesitan que la aplicación proporcione información adicional durante la inicialización. |
||
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 adjuntos de entrada. En el momento de escribir este artículo, este bit solo afecta a las cadenas de intercambio de Vulkan. |
||
Esta extensión permite que la aplicación vincule una o más acciones digitales a un panel táctil o un joystick como si fuera un pad direccional, ya que define rutas de componentes adicionales para las que se sugieren vinculaciones. |
||
Esta extensión define un identificador único universal que sigue el RFC 4122. |
||
Esta extensión habilita la composición de capas con prueba de profundidad. |
||
Esta extensión proporciona un Permisos: |
||
Esta extensión define cuatro poses de acción de uso frecuente para todos los perfiles de interacción de manos del usuario, incluidos los dispositivos de monitoreo de manos y los dispositivos de control de movimiento. |
||
Esta extensión admite el suministro de una máscara de dibujo por vista para las aplicaciones. |
||
La renderización foveada con seguimiento de ojos renderiza una densidad de píxeles más baja en la periferia de la mirada del usuario. Permisos: |
||
La extensión Permisos: |
||
Esta extensión define un nuevo "identificador de pose estándar" para los perfiles de interacción, llamado "palm_ext". |
||
Los visores de Varjo proporcionan pantallas con una densidad de píxeles extremadamente alta en el área central de la pantalla. Permisos: |
||
Esta extensión agrega un nuevo tipo de configuración de vista,
|
||
Con esta extensión, una aplicación basada en Vulkan puede pasar |
||
La extensión Permisos: |
||
Esta extensión no define un nuevo tipo de capa de composición. |
||
|
||
Esta extensión permite que las aplicaciones soliciten el uso de opciones de procesamiento, como el enfoque o el supermuestreo, en una capa de composición. |
||
Esta extensión presenta la función xrLocateSpacesKHR. |
||
La especificación principal de OpenXR contiene dos tipos de |
||
Esta extensión se basa en Permisos: |
||
Esta extensión permite que las aplicaciones descubran y correlacionen entidades espaciales en todas las sesiones de la aplicación. Permisos: |
||
Esta extensión se basa en Permisos: |
||
Esta extensión se basa en Permisos: |
||
Esta extensión presenta los conceptos y fundamentos para la comprensión de escenas y el razonamiento espacial en OpenXR. |
||
En los sistemas de RE, hay ciertas operaciones que se ejecutan durante mucho tiempo y no se completan de forma razonable dentro de un bucle de fotogramas normal. |
||
Es posible que los dispositivos de RE usen un espacio de color diferente al de muchos monitores que se usan en el desarrollo. |
||
Esta extensión proporciona una marca que, cuando se aplica a una capa de composición, invierte la interpretación del valor alfa en las imágenes de la cadena de intercambio de la capa. |
||
La función |
||
Esta extensión proporciona compatibilidad para habilitar la síntesis de fotogramas en las aplicaciones según los datos adicionales que estas proporcionan. |
||
Proporciona operaciones de seguimiento de imágenes de Qualcomm para elementos rastreables. |
||
Proporciona operaciones de seguimiento de códigos QR de Qualcomm para los elementos que se pueden seguir. |
||
Esta extensión presenta un evento nuevo para notificar cuando el sistema detectó el cambio de presencia del usuario. |
||
Esta extensión amplía los tamaños máximos de los nombres de las estructuras y proporciona una función nueva para acceder a estos nuevos nombres extendidos. |
||
Esta extensión aumenta la extensión |
||
Esta extensión describe la "renderización automática" en el contexto de los contenedores espaciales. |
||
Esta extensión define una nueva clase de entidades que se pueden mostrar. |
||
Esta extensión permite que las aplicaciones conserven y dejen de conservar entidades espaciales en todas las sesiones. Permisos: |
||
Esta extensión se basa en Permisos: |
||
Esta extensión se basa en Permisos: |
||
Esta extensión proporciona la capacidad de seguimiento de imágenes para la extensión Permisos: |
||
|
||
Esta extensión no define un nuevo tipo de capa de composición. |
OpenXR™ y el logotipo de OpenXR son marcas comerciales de The Khronos Group Inc. y están registradas como marcas comerciales en China, la Unión Europea, Japón y el Reino Unido.