DirectX 開発の概要DirectX development overview

Windows Mixed Reality アプリケーションは、 holographic レンダリング宝石ジェスチャモーション コントローラー音声、および空間マッピング api を使用して Mixed Reality をビルドして、HoloLens とイマーシブヘッドセット。Windows Mixed Reality applications use the holographic rendering, gaze, gesture, motion controller, voice, and spatial mapping APIs to build mixed reality experiences for HoloLens and immersive headsets. Unityなどの3d エンジンを使用して mixed reality アプリケーションを作成することも、directx 11 または directx 12 を使用して Windows Mixed reality api に直接コードを記述することもできます。You can create mixed reality applications using a 3D engine, such as Unity, or you can directly code to the Windows Mixed Reality APIs using DirectX 11 or DirectX 12. プラットフォームを直接利用する場合は、基本的に独自のミドルウェアまたはフレームワークを構築することになります。If you are leveraging the platform directly, you'll essentially be building your own middleware or framework. Windows Api は、とC++ C#の両方で記述されたアプリケーションをサポートします。The Windows APIs support applications written in both C++ and C#. を使用C#することを選択した場合、アプリケーションはSharpDXオープンソースソフトウェアライブラリを利用できます。If you choose to use C#, your application can leverage the SharpDX open source software library.

Windows Mixed Reality は、次の2種類のアプリをサポートしています。Windows Mixed Reality supports two kinds of apps:

  • Mixed reality アプリケーション(UWP または Win32) HOLOGRAPHICSPACE APIを使用して、ヘッドセットの表示を満たすユーザーにイマーシブビューをレンダリングします。Mixed reality applications (UWP or Win32) that use the HolographicSpace API to render an immersive view to the user that fills the headset display.
  • 2d アプリ(UWP) DirectX、XAML、またはその他のフレームワークを使用して、Windows Mixed Reality ホームのスレートに2d ビューをレンダリングします。2D apps (UWP) that use DirectX, XAML, or other frameworks to render 2D views on slates in the Windows Mixed Reality home.

2d ビューとイマーシブビューの DirectX 開発の違いは、主に holographic のレンダリングと空間入力に関連しています。The differences between DirectX development for 2D views and immersive views are primarily related to holographic rendering and spatial input. UWP アプリケーションのIFrameworkViewまたは Win32 アプリケーションの HWND が必要であり、アプリケーションで使用できる WinRT api と同様に、ほとんど同じままです。Your UWP application's IFrameworkView or your Win32 application's HWND are required, and remain largely the same, as do the WinRT APIs available to your application. ただし、holographic 機能を利用するには、これらの Api の異なるサブセットを使用する必要があります。However, you must use a different subset of these APIs to take advantage of holographic features. たとえば、スワップチェーンは、holographic appスライスのためにシステムによって管理されます。For example, the swap chain is managed by the system for holographic appslications. フレームを表示するには、DXGI ではなく HolographicSpace API を使用します。You work with the HolographicSpace API rather than DXGI to present frames.

イマーシブアプリケーションの開発を開始するには:To begin developing immersive applications:

これは、既存のアプリケーションまたはエンジンに holographic のレンダリングサポートを追加するために必要なコードを取得するための優れた方法です。This is a great way to get the code that you need to add holographic rendering support to an existing application or engine. コードと概念は、リアルタイムの対話型ソフトウェアの開発者にとって使い慣れた方法でテンプレートに記載されています。Code and concepts are presented in the template in a way that's familiar to any developer of real-time interactive software.

作業の開始Getting started

次のトピックでは、Windows Mixed Reality サポートを DirectX ベースのミドルウェアに追加するための基本要件について説明します。The following topics discuss the base requirements of adding Windows Mixed Reality support to DirectX-based middleware:

  • Holographic DirectX プロジェクトの作成:Holographic アプリケーションテンプレートとドキュメントを組み合わせると、使用しているものと、ヘッドにいるときに機能するように設計されたデバイスによって導入された特殊な要件との違いがわかります。Creating a holographic DirectX project: The holographic application template coupled with the documentation shows you the differences between what you're used to as well as the special requirements introduced by a device that's designed to function while resting on your head.
  • HolographicSpace の取得:まず、レンダリングする各ヘッドの位置を表す一連の HolographicFrame オブジェクトをアプリケーションに提供する HolographicSpace を作成する必要があります。Getting a HolographicSpace: You'll first need to create a HolographicSpace That will provide your application the sequence of HolographicFrame objects that represent each head position from which you'll render.
  • DirectX でのレンダリング:Holographic スワップチェーンには2つのレンダーターゲットがあるため、アプリケーションのレンダリング方法にいくつかの変更を加える必要があります。Rendering in DirectX: Since a holographic swap chain has two render targets, you'll need to make some changes to the way your application renders.
  • DirectX でのシステムの調整:Windows Mixed Reality は、ユーザーが説明しているように、世界を理解し、その内容を更新します。Coordinate systems in DirectX: Windows Mixed Reality learns and updates its understanding of the world as the user walks around. これにより、空間アンカーやユーザーが定義した空間ステージなど、ユーザーの環境についての理由にアプリケーションが使用する空間座標系が提供されます。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.

Mixed reality 機能と入力の追加Adding mixed reality capabilities and inputs

イマーシブ appslication ユーザーに最適なエクスペリエンスを実現するには、次の主要な構成要素をサポートする必要があります。To enable the best possible experience for users of your immersive appslication, you'll want to support the following key building blocks:

多くのイマーシブアプリケーションでは、DirectX アプリケーションにも公開されている主な機能が使用されます。There are other key features that many immersive applications will want to use that are also exposed to DirectX applicaitons:

関連項目See also