Visão geral do desenvolvimento nativoNative development overview

Os aplicativos do Windows Mixed Reality usam as seguintes APIs para criar experiências de realidade mista para o HoloLens e outros headsets de imersão:Windows Mixed Reality applications use the following APIs to build mixed-reality experiences for HoloLens and other immersive headsets:

Você pode criar aplicativos de realidade misturada usando um mecanismo 3D, como o Unity.You can create mixed reality applications by using a 3D engine, such as Unity. Ou você pode codificar diretamente para as APIs de realidade mista do Windows usando DirectX 11 ou DirectX 12.Or you can directly code to the Windows Mixed Reality APIs by using DirectX 11 or DirectX 12. Se você aproveitar a plataforma diretamente, você essencialmente criará seu próprio middleware ou estrutura.If you leverage the platform directly, you essentially build your own middleware or framework. As APIs do Windows dão suporte a aplicativos que são C++ gravados no e C#no.The Windows APIs support applications that are written in both C++ and C#. Se você usar C#o, seu aplicativo poderá aproveitar a biblioteca de software de código aberto SharpDX .If you use C#, your application can leverage the SharpDX open source software library.

O Windows Mixed Reality dá suporte a dois tipos de aplicativos:Windows Mixed Reality supports two kinds of apps:

  • Aplicativos de realidade mista (UWP ou Win32) que usam a API do HOLOGRAPHICSPACE ou a API do OpenXR para processar uma exibição de imersão para o usuário que preenche a tela do headsetMixed-reality applications (UWP or Win32) that use the HolographicSpace API or OpenXR API to render an immersive view to the user that fills the headset display
  • aplicativos 2D (UWP) que usam DirectX, XAML ou outra estrutura para renderizar exibições 2D em slates na página inicial do Windows Mixed Reality2D apps (UWP) that use DirectX, XAML, or another framework to render 2D views on slates in the Windows Mixed Reality home

As diferenças entre o desenvolvimento DirectX para exibições 2D e exibições de imersão envolvem principalmente a renderização Holographic e a entrada espacial.The differences between DirectX development for 2D views and immersive views primarily concern holographic rendering and spatial input. O IFrameworkView do seu aplicativo UWP ou o HWND do seu aplicativo Win32 são necessários e permanecem basicamente os mesmos.Your UWP application's IFrameworkView or your Win32 application's HWND are required and remain largely the same. O mesmo é verdadeiro para as APIs do WinRT que estão disponíveis para seu aplicativo.The same is true for the WinRT APIs that are available to your app. Mas você deve usar um subconjunto diferente dessas APIs para aproveitar os recursos do Holographic.But you must use a different subset of these APIs to take advantage of holographic features. Por exemplo, o SwapChain e o quadro presente são gerenciados pelo sistema para aplicativos Holographic a fim de habilitar um loop de quadro previsto para pose.For example, the swapchain and frame present is managed by the system for holographic applications in order to enable a pose-predicted frame loop.

Introdução ao OpenXRGet started with OpenXR

Você pode desenvolver usando OpenXR em um headset de imersão de realidade 2 ou Windows misto na área de trabalho.You can develop using OpenXR on a HoloLens 2 or Windows Mixed Reality immersive headset on the desktop. Se você não tiver acesso a um headset, poderá usar o emulador do HoloLens 2 ou o simulador de realidade mista do Windows.If you don't have access to a headset, you can use the HoloLens 2 Emulator or the Windows Mixed Reality Simulator instead.

Para começar a desenvolver aplicativos OpenXR para fones de ouvido do Windows com o HoloLens 2 ou de imersão, consulte como começar a usar o desenvolvimento do OpenXR.To start developing OpenXR applications for HoloLens 2 or immersive Windows Mixed Reality headsets, see how to get started with OpenXR development.

Introdução ao WinRTGet started with WinRT

Para começar a desenvolver aplicativos de imersão:To begin developing immersive applications:

Esta etapa é uma ótima maneira de obter o código de que você precisa para adicionar suporte à renderização de Holographic a um aplicativo ou mecanismo existente.This step is a great way to get the code that you need to add holographic rendering support to an existing application or engine. O código e os conceitos são apresentados no modelo de uma forma que seja familiar para qualquer desenvolvedor de software interativo em tempo real.The code and concepts are presented in the template in a way that's familiar to any developer of real-time interactive software.

Os tópicos a seguir descrevem os requisitos básicos ao adicionar o suporte do Windows Mixed Reality ao middleware baseado em DirectX.The following topics describe the base requirements when you add Windows Mixed Reality support to DirectX-based middleware.

  • Criar um projeto Holographic DirectX: o modelo de aplicativo Holographic junto com a documentação mostra as diferenças em comparação com o que você está acostumado.Create a holographic DirectX project: The holographic application template coupled with the documentation shows the differences compared to what you're used to. Ele também descreve os requisitos especiais para um dispositivo que é projetado para funcionar enquanto estiver em sua cabeça.It also describes the special requirements for a device that's designed to function while resting on your head.
  • Obtenha um HolographicSpace: primeiro, você precisa criar um HolographicSpace que dá ao seu aplicativo a sequência de objetos HolographicFrame que representam cada posição de cabeçalho da qual você vai renderizar.Get a HolographicSpace: You first need to create a HolographicSpace that gives your application the sequence of HolographicFrame objects that represent each head position from which you'll render.
  • Renderizar no DirectX: como um Holographic SwapChain tem dois destinos de renderização, você deve fazer algumas alterações na maneira como seu aplicativo é renderizado.Render in DirectX: Because a holographic swapchain has two render targets, you must make some changes to the way your app renders.
  • Coordenar sistemas no DirectX: a realidade mista do Windows aprende e atualiza sua compreensão do mundo à medida que o usuário percorra.Coordinate systems in DirectX: Windows Mixed Reality learns and updates its understanding of the world as the user walks around. Isso fornece sistemas de coordenadas espaciais que os aplicativos usam para o motivo do ambiente do usuário, incluindo âncoras espaciais e o estágio espacial definido do usuário.This provides spatial coordinate systems that applications use to reason about the user's surroundings, including spatial anchors and the user's defined spatial stage.

Adicionar funcionalidades e entradas de realidade misturadaAdd mixed reality capabilities and inputs

Para fornecer a melhor experiência possível para os usuários do seu aplicativo de imersão, você deve dar suporte aos seguintes blocos de construção de chave:To provide the best possible experience for users of your immersive app, you should support the following key building blocks:

Esses são outros recursos principais que muitos aplicativos de imersão usam que também são expostos aos aplicativos do DirectX:These are other key features that many immersive applications use that are also exposed to DirectX applications:

Consulte tambémSee also