O Android XR é compatível com o OpenXR pela especificação OpenXR 1.1 e uma longa lista de extensões de fornecedores terceirizados. O uso dessas extensões oferece uma experiência familiar ao desenvolver para XR. Alguns desses recursos exigem permissões de execução do Android Runtime. Se você quiser criar diretamente nas APIs OpenXR, os arquivos principais necessários estão no repositório jetpack-xr-natives.
Extensões de fornecedor do Android XR
Nome da extensão |
Descrição |
Versão da API Spatial |
|---|---|---|
As âncoras criadas por um aplicativo usando Permissões: |
||
Usa IK para determinar a posição do corpo com base na posição da cabeça e das mãos. Permissões: |
||
Para dispositivos que oferecem suporte a vários modos de combinação de ambiente. Permissões: |
||
Essa extensão permite que o aplicativo solicite mapas de profundidade do ambiente real ao redor do headset e consulte as resoluções de profundidade compatíveis no momento da criação. Permissões: |
||
Essa extensão permite que o aplicativo persista. Permissões: |
||
Essa extensão permite que os aplicativos determinem quais extensões são compatíveis com a configuração atual do sistema. |
||
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: |
||
Essa extensão permite que os aplicativos recebam pesos de formas de mesclagem e renderizem expressões faciais em experiências de XR. Permissões: |
||
Essa extensão permite que os aplicativos recebam dados de captura de expressões faciais de várias fontes. Permissões: |
||
Esta extensão oferece o rastreamento geoespacial para a API Geospatial do Google. Permissões: |
||
Essa extensão oferece âncoras geoespaciais e de superfície que são posicionadas no espaço em relação à Terra em uma determinada latitude, longitude e altitude. Permissões: |
||
Essa extensão permite que os aplicativos definam e consultem o nível de escurecimento global do passthrough e recebam eventos quando o nível de escurecimento mudar. |
||
Essa extensão permite o uso de extensões baseadas no Google Cloud, permitindo que o aplicativo forneça credenciais de autenticação para as APIs do Google Cloud. |
||
Essa extensão permite entradas de captura de movimentos das mãos representadas como uma malha de mão dinâmica. Permissões: |
||
Essa extensão permite que o aplicativo solicite dados que representam a iluminação do ambiente real ao redor do headset. Permissões: |
||
Essa extensão se baseia na extensão básica Permissões: |
||
Essa extensão fornece um |
||
A câmera de passagem pode levar algum tempo para iniciar e talvez não esteja disponível imediatamente. |
||
Essa extensão fornece APIs para enumerar e consultar vários contadores de métricas de performance do dispositivo XR atual. |
||
Essa extensão permite que o aplicativo realize raycasts em elementos rastreáveis no ambiente. Permissões: |
||
Essa extensão permite que o ambiente de execução notifique o aplicativo quando a resolução recomendada mudar. |
||
O ambiente padrão do usuário pode estar em vários estados usando uma combinação de um modo de mesclagem e uma modalidade de entrada. |
||
Essa extensão tem como objetivo fornecer malhas que representam aproximadamente os objetos físicos no ambiente do usuário. Permissões: |
||
A função Por outro lado, essa extensão cria uma âncora espacial representada por um identificador Permissões: |
||
Essa extensão oferece o recurso de rastreamento de anotações para a extensão Permissões: |
||
Essa extensão se baseia em Permissões: |
||
Essa extensão adiciona definições para limites espaciais que permitem que os aplicativos filtrem entidades espaciais descobertas. Permissões: |
||
Essa extensão se baseia em XR_EXT_spatial_entity e oferece a funcionalidade de raycast para recursos espaciais existentes. Permissões: |
||
Essa extensão permite que os aplicativos criem e anexem âncoras a entidades espaciais. Permissões: |
||
Essa extensão se baseia em Permissões: |
||
Essa extensão permite que o aplicativo acesse elementos rastreáveis do ambiente físico. Permissões: |
||
Essa extensão permite o rastreamento de imagens planas, conforme especificado por conjuntos de imagens de referência de entrada. Permissões: |
||
Essa extensão permite o rastreamento de marcadores físicos. Permissões: |
||
Essa extensão permite o rastreamento de objetos físicos. Permissões: |
||
Essa extensão permite o rastreamento de QR codes físicos e a decodificação de dados de QR codes. Permissões: |
||
Essa extensão permite que os aplicativos criem um espaço de referência |
||
Essa extensão expõe a área de transição aplicada pelo ambiente de execução para que um aplicativo possa organizar os elementos da interface dentro da área segura. |
Extensões de terceiros
Nome da extensão |
Descrição |
Versão da API Spatial |
|---|---|---|
Alguns aplicativos podem precisar acessar dispositivos de interação de XR sem apresentar nenhum conteúdo de imagem na tela ou nas telas. |
||
Essa extensão adiciona uma estrutura opcional que pode ser incluída na cadeia
|
||
Devido à natureza da interface do OpenXR, há poucas informações de erro disponíveis para o desenvolvedor e o aplicativo. |
||
Essa extensão permite que os aplicativos localizem as articulações individuais das entradas de captura de movimentos das mãos. Permissões: |
||
Essa extensão define uma API para que o aplicativo forneça dicas de desempenho ao ambiente de execução e para que o ambiente de execução envie notificações relacionadas ao desempenho de volta ao aplicativo. Isso permite que os dois lados cheguem a um acordo adequado entre o desempenho necessário da CPU e da GPU, a sustentabilidade térmica e uma experiência do usuário consistente e boa durante toda a sessão. |
||
Em plataformas que oferecem suporte ao ajuste dinâmico da taxa de atualização da tela. |
||
Essa extensão permite que o aplicativo modifique e consulte um estado mutável específico associado a uma swapchain. |
||
A foveação no contexto da XR é uma técnica de renderização que permite que a área de uma imagem próxima ao ponto focal ou à fóvea do olho seja exibida em uma resolução mais alta do que as áreas na periferia. |
||
Nos HMDs do Facebook, os desenvolvedores podem criar perfis de foveação gerados pelo ambiente de execução para as propriedades ópticas e a performance. |
||
A API gráfica Vulkan exige que uma imagem seja aplicada à swapchain para aplicar um padrão de foveação. |
||
Essa extensão oferece suporte para ativar a tecnologia de distorção espacial no aplicativo. |
||
Essa extensão precisa ser fornecida por ambientes de execução que oferecem suporte a aplicativos que usam APIs OpenGL ES para renderização. |
||
Quando o aplicativo cria um objeto XrInstance em sistemas Android. |
||
Uma atividade comum em XR é visualizar um stream de imagens. |
||
Para que a XR seja confortável, é importante que os aplicativos forneçam frames de forma rápida e consistente. |
||
A escala de cores e o viés são aplicados a uma cor de camada durante a composição, após a conversão para a representação alfa pré-multiplicada. |
||
Essa extensão adiciona outro tipo de camada que permite a amostragem direta de cubemaps. |
||
Essa extensão adiciona um tipo de camada extra em que o ambiente de execução de XR precisa mapear uma textura de uma swapchain para o interior de uma seção de cilindro. É como se o usuário estivesse olhando para uma TV de tela curva. |
||
Essa extensão define um tipo de camada extra que permite que os aplicativos enviem imagens de profundidade com imagens coloridas em camadas de projeção. |
||
Essa extensão adiciona um tipo de camada extra em que o ambiente de execução de XR precisa mapear uma imagem codificada equirretangular de uma swapchain para o interior de uma esfera. |
||
Essa extensão adiciona um tipo de camada extra em que o ambiente de execução de XR precisa mapear uma imagem codificada equirretangular de uma swapchain para o interior de uma esfera. Essa extensão usa uma parametrização diferente, mais de acordo com a formulação de |
||
Essa extensão oferece duas funções para converter entre o tempo monotônico timespec e |
||
Essa extensão permite o uso da API gráfica Vulkan em um ambiente de execução do OpenXR. |
||
Essa extensão permite o uso da API gráfica Vulkan em um ambiente de execução do OpenXR. |
||
Em algumas plataformas, antes que o carregamento possa ocorrer, o carregador precisa ser inicializado com parâmetros específicos da plataforma. |
||
No Android, algumas implementações de carregador precisam que o aplicativo forneça mais informações na inicialização. |
||
Essa extensão permite que um aplicativo especifique que as imagens da swapchain sejam criadas de modo que possam ser usadas como anexos de entrada. No momento, esse bit afeta apenas as swapchains do Vulkan. |
||
Essa extensão permite que o aplicativo vincule uma ou mais ações digitais a um trackpad ou direcional analógico como se fosse um direcional digital, definindo caminhos de componentes adicionais para sugerir vinculações. |
||
Essa extensão define um identificador exclusivo universalmente que segue a RFC 4122. |
||
Essa extensão permite a composição de camadas com teste de profundidade. |
||
Essa extensão fornece um Permissões: |
||
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 dispositivos de captura de movimentos das mãos e de controle de movimento. |
||
Essa extensão permite fornecer uma máscara de desenho por visualização para aplicativos. |
||
A renderização foveada com acompanhamento ocular renderiza uma densidade de pixels menor na periferia do olhar do usuário. Permissões: |
||
A extensão Permissões: |
||
Essa extensão define um novo "identificador de pose padrão" para perfis de interação, chamado "palm_ext". |
||
Os headsets Varjo oferecem telas com densidade de pixels extremamente alta na área central. Permissões: |
||
Essa extensão adiciona um novo tipo de configuração de visualização,
|
||
Com essa extensão, um aplicativo baseado em Vulkan pode transmitir |
||
A extensão Permissões: |
||
Essa extensão não define um novo tipo de camada de composição. |
||
O |
||
Essa extensão permite que os aplicativos solicitem o uso de opções de processamento, como nitidez ou superamostragem, em uma camada de composição. |
||
Essa extensão apresenta a função xrLocateSpacesKHR. |
||
A especificação principal do OpenXR contém dois tipos de espaço de referência |
||
Essa extensão se baseia na Permissões: |
||
Essa extensão permite que os aplicativos descubram e correlacionem entidades espaciais em sessões de aplicativos. Permissões: |
||
Essa extensão se baseia em Permissões: |
||
Essa extensão se baseia em Permissões: |
||
Essa extensão apresenta os conceitos e as bases para a compreensão de cenas e o raciocínio espacial no OpenXR. |
||
Nos sistemas de XR, há certas operações que são de longa duração e não são concluídas em um loop de frame normal. |
||
Os dispositivos XR podem usar um espaço de cores diferente de muitos monitores usados no desenvolvimento. |
||
Essa extensão fornece uma flag que, quando aplicada a uma camada de composição, inverte a interpretação do valor Alfa nas imagens da swapchain da camada. |
||
A função |
||
Essa extensão oferece suporte para ativar a síntese de frames em aplicativos com base em outros dados fornecidos pelo aplicativo. |
||
Oferece operações de rastreamento de imagens da Qualcomm para rastreáveis. |
||
Oferece operações de rastreamento de QR code da Qualcomm para itens rastreáveis. |
||
Essa extensão introduz um novo evento para notificar quando o sistema detecta a mudança de presença do usuário. |
||
Essa extensão aumenta os tamanhos máximos de nomes de struct e oferece uma nova função para acessar esses novos nomes estendidos. |
||
Essa extensão aumenta a extensão |
||
Esta extensão descreve a "autorrenderização" no contexto de contêineres espaciais. |
||
Essa extensão define uma nova classe de entidades que podem ser exibidas. |
||
Essa extensão permite que os aplicativos persistam e deixem de persistir entidades espaciais em várias sessões. Permissões: |
||
Essa extensão se baseia em Permissões: |
||
Essa extensão se baseia em Permissões: |
||
Essa extensão oferece o recurso de rastreamento de imagens para a extensão Permissões: |
||
|
||
Essa extensão não define um novo tipo de camada de composição. |
OpenXR™ e o logotipo do OpenXR são marcas registradas do The Khronos Group Inc. e são registradas como marcas na China, na União Europeia, no Japão e no Reino Unido.