Criar com extensões do OpenXR compatíveis

Dispositivos XR relevantes
Estas orientações ajudam você a criar experiências para esses tipos de dispositivos XR.
Headsets XR
Óculos XR com fio

O Android XR é compatível com o OpenXR pela especificação OpenXR 1.1 e uma longa lista de extensões de fornecedores terceirizados. Usar essas extensões oferece a mesma experiência ao desenvolver para XR. Algumas dessas funcionalidades exigem permissões de execução do Android. Se você quiser criar diretamente nas APIs OpenXR, encontre os arquivos de cabeçalho necessários no repositório jetpack-xr-natives.

Extensões de fornecedor do Android XR

Nome da extensão

Descrição

Versão da API Spatial

XR_ANDROID_anchor_sharing_export

As âncoras criadas por um aplicativo usando XR_ANDROID_trackables estão vinculadas a uma sessão específica e, portanto, não ficam visíveis para outras...

v1

XR_ANDROID_body_tracking

Usa a IK para determinar a posição do corpo com base na posição da cabeça e das mãos.
Permissões:Body Tracking

v2

XR_ANDROID_composition_layer_passthrough_mesh

Para dispositivos que oferecem suporte a vários modos de combinação de ambiente.
Permissões:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_depth_texture

Essa extensão permite que o aplicativo solicite mapas de profundidade do ambiente do mundo real ao redor do headset e consulte...
Permissões:SCENE_UNDERSTANDING_FINE

v1

XR_ANDROID_device_anchor_persistence

Essa extensão permite que o aplicativo persista.
Permissões:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_enumerate_system_extension_properties

Essa extensão permite que os aplicativos determinem quais extensões são compatíveis com a configuração atual do sistema.

v3

XR_ANDROID_eye_tracking

Essa extensão permite que os aplicativos obtenham a posição e a orientação dos olhos do usuário, bem como o status do acompanhamento ocular.
Permissões:EYE_TRACKING_FINE

v1

XR_ANDROID_face_tracking

Essa extensão permite que os aplicativos recebam pesos de formas de fusão e renderizem expressões faciais em experiências de realidade estendida.
Permissões:FACE_TRACKING

v1

XR_ANDROID_face_tracking_data_source

Essa extensão permite que os aplicativos recebam dados de captura de expressões faciais de várias fontes de dados.
Permissões:FACE_TRACKING, RECORD_AUDIO

v3

XR_ANDROID_hand_mesh

Essa extensão ativa entradas de captura de movimentos das mãos representadas como uma malha de mão dinâmica.
Permissões: HAND_TRACKING

v1

XR_ANDROID_light_estimation

Essa extensão permite que o aplicativo solicite dados que representam a iluminação do ambiente real ao redor do headset.
Permissões:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_light_estimation_cubemap

Essa extensão se baseia na extensão básica XR_ANDROID_light_estimation.
Permissões:SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_mouse_interaction

Essa extensão fornece um XrPath para receber entrada do mouse e define uma postura de ação usada com frequência para perfis de mouse do usuário...

v1

XR_ANDROID_passthrough_camera_state

A câmera de transmissão pode levar algum tempo para iniciar e talvez não esteja disponível imediatamente.

v1

XR_ANDROID_performance_metrics

Essa extensão fornece APIs para enumerar e consultar vários contadores de métricas de desempenho do dispositivo XR atual.

v1

XR_ANDROID_raycast

Essa extensão permite que o aplicativo execute raycasts em objetos rastreáveis no ambiente.
Permissões:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_recommended_resolution

Essa extensão permite que o tempo de execução notifique o aplicativo quando a resolução recomendada muda.

v1

XR_ANDROID_recommended_settings

O ambiente padrão do usuário pode estar em vários estados usando uma combinação de modo de fusão e modalidade de entrada.

v1

XR_ANDROID_scene_meshing

Essa extensão foi criada para fornecer malhas que representam aproximadamente os objetos físicos no ambiente do usuário.

v1

XR_ANDROID_spatial_anchor_space

A função xrCreateSpatialAnchorEXT definida na extensão XR_EXT_spatial_anchor permite que os aplicativos criem âncoras espaciais...
Permissões:SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_annotation_tracking

Essa extensão oferece o recurso de rastreamento de anotações para a extensão <<XR_EXT_spatial_entity>>, permitindo rastrear vários...
Permissões: SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_component_subsumed_by

Essa extensão se baseia em XR_EXT_spatial_entity e fornece um novo componente para XR_SPATIAL_CAPABILITY_PLANE_TRACKING_EXT para...
Permissões:SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_discovery_raycast

Essa extensão se baseia em XR_EXT_spatial_entity e oferece funcionalidade de raycast para recursos espaciais atuais.
Permissões:SCENE_UNDERSTANDING_FINE

v3

XR_ANDROID_spatial_entity_bound_anchor

Essa extensão permite que os aplicativos criem e anexem âncoras a entidades espaciais.
Permissões:SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_spatial_object_tracking

Essa extensão se baseia em XR_EXT_spatial_entity e define uma capacidade espacial para rastrear um conjunto de objetos físicos predefinidos...
Permissões:SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables

Essa extensão permite que o aplicativo acesse rastreáveis do ambiente físico.
Permissões: SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_image

Essa extensão permite o rastreamento de imagens planas, conforme especificado por conjuntos de imagens de referência de entrada.
Permissões:SCENE_UNDERSTANDING_COARSE

v3

XR_ANDROID_trackables_marker

Essa extensão ativa o rastreamento de marcadores físicos.
Permissões:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_object

Essa extensão ativa o rastreamento de objetos físicos.
Permissões:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_trackables_qr_code

Essa extensão permite o rastreamento físico e a decodificação de dados de QR code.
Permissões:SCENE_UNDERSTANDING_COARSE

v1

XR_ANDROID_unbounded_reference_space

Essa extensão permite que os aplicativos criem um espaço de referência XR_REFERENCE_SPACE_TYPE_UNBOUNDED_ANDROID.

v1

Extensões de terceiros

Nome da extensão

Descrição

Versão da API Spatial

XR_MND_headless

Alguns aplicativos podem precisar acessar dispositivos de interação de RV sem apresentar conteúdo de imagem na tela ou nas telas.

v1

XR_KHR_binding_modification

Essa extensão adiciona uma estrutura opcional que pode ser incluída na cadeia XrInteractionProfileSuggestedBinding::next transmitida...

v1

XR_EXT_debug_utils

Devido à natureza da interface OpenXR, há pouquíssimas informações de erro disponíveis para o desenvolvedor e o aplicativo.

v1

XR_EXT_hand_tracking

Essa extensão permite que os aplicativos localizem as articulações individuais das entradas de captura de movimentos das mãos.
Permissões:HAND_TRACKING

v1

XR_EXT_performance_settings

Essa extensão define uma API para o aplicativo dar dicas de desempenho ao ambiente de execução e para o ambiente de execução enviar...

v1

XR_FB_display_refresh_rate

Em plataformas que oferecem suporte ao ajuste dinâmico da taxa de atualização da tela.

v1

XR_FB_swapchain_update_state

Essa extensão permite que o aplicativo modifique e consulte um estado mutável específico associado a uma cadeia de troca.

v1

XR_FB_foveation

A foveação no contexto de XR é uma técnica de renderização que permite que a área de uma imagem perto do ponto focal ou da fóvea do...

v1

XR_FB_foveation_configuration

Nos HMDs do Facebook, os desenvolvedores podem criar perfis de foveação gerados pelo ambiente de execução para as propriedades ópticas e o desempenho.

v1

XR_FB_foveation_vulkan

A API gráfica Vulkan exige que uma imagem seja aplicada à cadeia de troca para aplicar um padrão de foveação.

v1

XR_FB_space_warp

Essa extensão oferece suporte para ativar a tecnologia de distorção espacial no aplicativo.

v1

XR_KHR_opengl_es_enable

Essa extensão precisa ser fornecida por runtimes que oferecem suporte a aplicativos que usam APIs OpenGL ES para renderização.

v1

XR_KHR_android_create_instance

Quando o aplicativo cria um objeto XrInstance em sistemas Android.

v1

XR_KHR_android_surface_swapchain

Uma atividade comum em XR é visualizar um stream de imagens.

v1

XR_KHR_android_thread_settings

Para que a XR seja confortável, é importante que os aplicativos renderizem frames de forma rápida e consistente.

v1

XR_KHR_composition_layer_color_scale_bias

A escala e o viés de cor são aplicados a uma cor de camada durante a composição, após a conversão para a representação alfa pré-multiplicada.

v1

XR_KHR_composition_layer_cube

Essa extensão adiciona um tipo de camada extra que permite a amostragem direta de cubemaps.

v1

XR_KHR_composition_layer_cylinder

Essa extensão adiciona um tipo de camada extra em que o tempo de execução de XR precisa mapear uma textura de uma cadeia de troca para o interior...

v1

XR_KHR_composition_layer_depth

Essa extensão define um tipo de camada extra que permite que os aplicativos enviem imagens de profundidade junto com imagens coloridas em...

v1

XR_KHR_composition_layer_equirect

Essa extensão adiciona um tipo de camada extra em que o tempo de execução de XR precisa mapear uma imagem codificada equirretangular de um...

v1

XR_KHR_composition_layer_equirect2

Essa extensão adiciona um tipo de camada extra em que o tempo de execução de XR precisa mapear uma imagem codificada equirretangular de um...

v1

XR_KHR_convert_timespec_time

Essa extensão oferece duas funções para conversão entre o tempo monotonic timespec e o XrTime.

v1

XR_KHR_vulkan_enable

Essa extensão permite o uso da API gráfica Vulkan em um tempo de execução do OpenXR.

v1

XR_KHR_vulkan_enable2

Essa extensão permite o uso da API gráfica Vulkan em um tempo de execução do OpenXR.

v1

XR_KHR_loader_init

Em algumas plataformas, antes que o carregamento possa ocorrer, o carregador precisa ser inicializado com parâmetros específicos da plataforma.

v1

XR_KHR_loader_init_android

No Android, algumas implementações de carregador precisam que o aplicativo forneça informações adicionais na inicialização.

v1

XR_KHR_swapchain_usage_input_attachment_bit

Essa extensão permite que um aplicativo especifique que as imagens da cadeia de troca sejam criadas de forma que possam ser usadas como...

v1

XR_EXT_dpad_binding

Essa extensão permite que o aplicativo vincule uma ou mais ações digitais a um trackpad ou thumbstick como se fosse um dpad...

v1

XR_EXT_uuid

Essa extensão define um identificador universal exclusivo que segue a RFC 4122.

v1

XR_FB_composition_layer_depth_test

Essa extensão permite a composição de camadas testadas em profundidade.

v1

XR_EXT_eye_gaze_interaction

Essa extensão fornece um XrPath para receber entrada de olhar de um eye tracker e ativar interações de olhar.
Permissões:EYE_TRACKING_FINE

v1

XR_EXT_hand_interaction

Essa extensão define quatro poses de ação usadas com frequência para todos os perfis de interação manual do usuário, incluindo captura de movimentos das mãos...

v1

XR_KHR_visibility_mask

Essa extensão oferece suporte a uma máscara de desenho por visualização para aplicativos.

v1

XR_META_foveation_eye_tracked

A renderização foveada com rastreamento ocular renderiza uma densidade de pixels menor na periferia do olhar do usuário.
Permissões:EYE_TRACKING_FINE

v1

XR_FB_hand_tracking_aim

A extensão XR_EXT_hand_tracking fornece uma lista de poses de articulações da mão que representam a configuração atual do...
Permissões:HAND_TRACKING

v1

XR_EXT_palm_pose

Essa extensão define um novo "identificador de postura padrão" para perfis de interação, chamado "palm_ext".

v1

XR_VARJO_foveated_rendering

Os headsets Varjo oferecem telas de densidade de pixels extremamente alta na área central da tela.
Permissões: EYE_TRACKING_FINE

v1

XR_VARJO_quad_views

Essa extensão adiciona um novo tipo de configuração de visualização, XR_VIEW_CONFIGURATION_TYPE_PRIMARY_QUAD_VARJO, a XrViewConfigurationType...

v1

XR_META_vulkan_swapchain_create_info

Com essa extensão, um aplicativo baseado em Vulkan pode transmitir VkImageCreateFlags ou VkImageUsageFlags adicionais ao...

v1

XR_FB_hand_tracking_mesh

A extensão XR_EXT_hand_tracking fornece uma lista de poses de articulações da mão, mas não um mecanismo para renderizar uma malha de mão com skin.
Permissões:HAND_TRACKING

v1

XR_FB_composition_layer_image_layout

Essa extensão não define um novo tipo de camada de composição.

v1

XR_KHR_maintenance1

O XR_KHR_maintenance1 adiciona uma coleção de recursos secundários que foram intencionalmente deixados de fora ou esquecidos do original...

v1

XR_FB_composition_layer_settings

Essa extensão permite que os aplicativos solicitem o uso de opções de processamento, como nitidez ou superamostragem, em um...

v1

XR_KHR_locate_spaces

Essa extensão apresenta a função xrLocateSpacesKHR.

v1

XR_EXT_local_floor

A especificação principal do OpenXR contém dois tipos de espaço de referência fixo no mundo XrSpace em XrReferenceSpaceType.

v1

XR_EXT_spatial_marker_tracking

Essa extensão se baseia em XR_EXT_spatial_entity e permite que os aplicativos detectem e rastreiem marcadores no ambiente.
Permissões:SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_persistence

Essa extensão permite que os aplicativos descubram e correlacionem entidades espaciais em sessões de aplicativos.
Permissões:SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_anchor

Essa extensão se baseia em XR_EXT_spatial_entity e permite que os aplicativos criem âncoras espaciais.
Permissões:SCENE_UNDERSTANDING_COARSE

v1

XR_EXT_spatial_plane_tracking

Essa extensão se baseia em XR_EXT_spatial_entity e define o recurso espacial de rastreamento de planos para a estrutura de entidade espacial.

v1

XR_EXT_spatial_entity

Essa extensão apresenta os conceitos e fundamentos para o entendimento de cenas e o raciocínio espacial no OpenXR.

v1

XR_EXT_future

Nos sistemas de RV, há algumas operações que são de longa duração e não são concluídas em um loop de frame normal.

v1

XR_FB_color_space

Os dispositivos de RV podem usar um espaço de cores diferente de muitos monitores usados no desenvolvimento.

v1

XR_EXT_composition_layer_inverted_alpha

Essa extensão fornece uma flag que, quando aplicada a uma camada de composição, inverte a interpretação do valor alfa em...

v1

XR_EXT_frame_synthesis

Essa extensão oferece suporte para ativar a síntese de frames em aplicativos com base em dados adicionais fornecidos pelo aplicativo.

v3

XR_QCOM_trackables_image_operations

Fornece operações de rastreamento de imagem da Qualcomm para rastreáveis.

v3

XR_QCOM_trackables_qr_code_operations

v3

XR_EXT_user_presence

Essa extensão apresenta um novo evento para notificar quando o sistema detecta a mudança na presença do usuário.

v3

XR_KHR_extended_struct_name_lengths

Essa extensão aumenta os tamanhos máximos de nomes de structs e oferece uma nova função para acessar esses novos nomes estendidos.

v3

XR_EXT_interaction_profile_battery_state_display

O XR_EXT_interaction_profile_battery_state_display oferece um mecanismo para que os aplicativos consultem o ambiente de execução para saber o estado da bateria...

v3


OpenXR™ e o logotipo OpenXR são marcas registradas de propriedade da Khronos Group Inc. e estão registradas como marcas comerciais na China, na União Europeia, no Japão e no Reino Unido.