Holographic レンダリングにより、ユーザーの世界で正確な場所でホログラムを描画するために、アプリ、または作成した仮想領域内で、物理世界で正確に配置するかどうか。Holographic rendering enables your app to draw a hologram in a precise location in the world around the user, whether it's precisely placed in the physical world or within a virtual realm you've created. ホログラムサウンドと光のオブジェクトが作成および表示に光を追加するアプリができるようにします。Holograms are objects made of sound and light, and rendering enables your app to add the light.

デバイスのサポートDevice support

機能Feature HoloLens (第 1 世代)HoloLens (1st gen) HoloLens 2HoloLens 2 イマーシブ ヘッドセットImmersive headsets
表示Rendering ✔️✔️ ✔️✔️ ✔️✔️

Holographic のレンダリングHolographic rendering

現実の世界と、ホログラムの両方を一緒に表示できるように、HoloLens のように透過表示または Windows Mixed Reality イマーシブ ヘッドセットの場合は、そのブロックのような非透過の画面にレンダリングするかどうか把握キー holographic の表示にすることです。世界を。Key to holographic rendering is knowing whether you are rendering to a see-through display like HoloLens, which lets the user see both the physical world and your holograms together - or an opaque display like a Windows Mixed Reality immersive headset, which blocks out the world.

使用してデバイス透かしが表示されますと同様に、 HoloLens、世界中に光を追加します。Devices with see-through displays, like HoloLens, add light to the world. 黒ピクセルは明るいピクセルがますます不透明が完全に透明になります。Black pixels will be fully transparent, while brighter pixels will be increasingly opaque. ディスプレイから光は、現実世界から光に追加するためも白いピクセルが半透明ややです。Because the light from the displays is added to the light from the real world, even white pixels are somewhat translucent.

ステレオスコ ピック レンダリング、ホログラムの深さの 1 つのキューには、追加効果の接地より簡単にどのような画面ホログラムが近くのユーザーを支援できます。While stereoscopic rendering provides one depth cue for your holograms, adding grounding effects can help users see more easily what surface a hologram is near. 1 つの接地手法では、近くにあるサーフェイス ホログラム周囲光彩 () を追加し、に対してこの光彩のシャドウをレンダリングです。One grounding technique is to add a glow around a hologram on the nearby surface and then render a shadow against this glow. この方法では、環境から光を減算する、シャドウが表示されます。In this way, your shadow will appear to subtract light from the environment. 空間サウンドユーザー ホログラムの相対的な場所との距離を判断できるようにすること、もう 1 つの非常に重要な深さキューを指定できます。Spatial sound can be another extremely important depth cue, letting users reason about the distance and relative location of a hologram.

使用してデバイス不透明な表示と同様に、 Windows Mixed Reality イマーシブ ヘッドセット世界をブロックします。Devices with opaque displays, like Windows Mixed Reality immersive headsets, block out the world. 黒ピクセルは黒一色になり、その他の任意の色は、ユーザーにその色として表示されます。Black pixels will be solid black, and any other color will appear as that color to the user. アプリがので、ユーザーがある快適なエクスペリエンスをできるように、定数のリフレッシュ レートを維持するためにさらに重要なすべてのユーザーが表示されるレンダリングを担当します。Your app is responsible for rendering everything the user will see, so it's even more important to maintain a constant refresh rate so that users have a comfortable experience.

予測表示パラメーターPredicted rendering parameters

Mixed reality ヘッドセット (HoloLens とイマーシブ ヘッドセット) とその周囲の基準としたユーザーの頭の向きを継続的に追跡します。Mixed reality headsets (both HoloLens and immersive headsets) continually track the position and orientation of the user's head relative to their surroundings. その次のフレームの準備、アプリの開始時、ユーザーの頭がされる将来のディスプレイ上、フレームが表示される正確な時点で、システムを予測します。As your app begins preparing its next frame, the system predicts where the user's head will be in the future at the exact moment that the frame will show up on the displays. この予測に基づいて、システムは、そのフレームを使用するビューおよび射影変換を計算します。Based on this prediction, the system calculates the view and projection transforms to use for that frame. アプリケーション正しい結果を生成するために、これらの変換を使用する必要がありますシステム提供の変換を使用しない場合は、結果のイメージの現実の世界では、ユーザーの不安を先頭の位置が合いません。Your application must use these transforms to produce correct results; if system-supplied transforms are not used, the resulting image will not align with the real world, leading to user discomfort.

正確に予測、新しいフレームがディスプレイに到達すると、システムが常に、有効なエンド ツー エンド待機時間の計測、アプリのレンダリング パイプラインに注意してください。Note that to accurately predict when a new frame will reach the displays, the system is constantly measuring the effective end-to-end latency of your app's rendering pipeline. システムは、レンダリング パイプラインの長さに調整は、中には、できるだけ短くするパイプラインを保持することでさらにホログラム安定性を改善できます。While the system will adjust to the length of your rendering pipeline, you can further improve hologram stability by keeping that pipeline as short as possible.

システムの予測を強化する高度な手法を使用するアプリケーションでは、システム ビューおよび射影変換をオーバーライドできます。Applications that use advanced techniques to augment the system prediction can override the system view and projection transforms. これらのアプリする必要があります使用する必要がありますシステム提供の変換、カスタムの変換のための基礎として意味のある結果を生成するためにします。These apps must must still use system-supplied transforms as a basis for their custom transforms in order to produce meaningful results.

その他の表示パラメーターOther rendering parameters

フレームをレンダリングするときに、システムは、アプリケーションの描画に使用する必要がありますバック バッファーのビューポートを指定します。When rendering a frame, the system will specify the back-buffer viewport in which your application should draw. このビューポートは、多くの場合、完全なフレーム バッファーのサイズより小さくなります。This viewport will often be smaller than the full size of the frame buffer. ビューポートのサイズに関係なく、アプリケーションで、フレームがレンダリングされた後、システムが拡大表示の全体を入力するイメージ。Regardless of the viewport size, once the frame has been rendered by the application, the system will upscale the image to fill the entirety of the displays.

検索自体、必要な更新料金を表示できません。 アプリケーションのシステム表示パラメーターを構成するメモリ不足や増加のピクセルのエイリアスがレンダリング コストを削減します。For applications that find themselves unable to render at the required refresh rate, system rendering parameters can be configured to reduce memory pressure and/or rendering cost at the cost of increased pixel aliasing. バック バッファー形式変更することも、メモリ帯域幅とピクセルのスループットを向上させるために役立つことがいくつかのアプリのことができます。The back buffer format can also be changed, which for some apps can help to improve memory bandwidth and pixel throughput.

レンダリングの視錐台、解決、および表示するために、アプリが求められるフレーム レートがフレーム間を変更することも、左および右の目の間で異なる場合があります。The rendering frustum, resolution, and framerate in which your app is asked to render may also change from frame to frame and may differ across the left and right eye. たとえばときに、実際のキャプチャを混在(MRC) がアクティブと写真/ビデオ カメラ ビューの構成が選択に、1 つ目は、大きく FOV または解像度で表示する場合があります。For example, when mixed reality capture (MRC) is active and the photo/video camera view configuration is not opted-into, one eye may be rendered with a larger FOV or resolution.

特定のフレーム、アプリのする必要がありますビューの変換、projection 変換、およびシステムによって提供されるビューポート解像度を使用して表示します。For any given frame, your app must render using the view transform, projection transform, and viewport resolution provided by the system. さらに、アプリケーションでは、任意の表示/表示パラメーターはフレーム単位から固定する必要があります考えないでください。Additionally, your application must never assume that any rendering/view parameter remains fixed from frame-to-frame. Unity などのエンジンは、物理的に移動、ユーザーとシステムの状態が常に尊重するようこれらすべての変換をする、独自のカメラ オブジェクトで処理します。Engines like Unity handle all these transforms for you in their own Camera objects, so that the physical movement of your users and the state of the system is always respected. さらに、アプリは、(、ゲームパッドでは、スティックを使用など) の世界をユーザーの仮想の移動を許可している場合、ユーザーの両方の仮想および物理運動を反映するようにカメラの原因を移動カメラの上の親「装置」オブジェクトに追加できます。If your app further allows for virtual movement of the user through the world (e.g. using the thumbstick on a gamepad), you can add a parent "rig" object above the camera that moves it around, causing the camera to reflect both the user's virtual and physical motion. 呼び出して、適切なシステムに通知すべき場合は、アプリは、ビューの変換、projection 変換、またはシステムによって提供されるビューポートのディメンションを変更、 API のオーバーライドします。If your app modifies the view transform, projection transform, or viewport dimension provided by the system, it must inform the system by calling the appropriate override API.

Holographic、レンダリングの安定性を強化するためにアプリする必要があります提供 Windows に各フレーム、深度バッファーのレンダリングに使用します。To enhance the stability of your holographic rendering, your app should provide to Windows each frame the depth buffer it used for rendering. アプリが深度バッファーを提供している場合、カメラからのメートル単位で表される深さの一貫した深さの値が必要です。If your app does provide a depth buffer, it should have coherent depth values, with depth expressed in meters from the camera. これによりより若干予測の場所からのオフセット ユーザーの頭が終了した場合にコンテンツを安定化にピクセルあたりの深さデータを使用するシステムです。This enables the system to use your per-pixel depth data to better stabilize content if the user's head ends up slightly offset from the predicted location. 深度バッファーを提供されない場合が代わりに、フォーカス ポイントと指定 normal、コンテンツのほとんどは、切断する平面を定義します。If you are not able to provide your depth buffer, you should instead provide a focus point and normal, defining a plane that cuts through most of your content. 深度バッファーとフォーカス プレーンの両方を指定しない場合、システムは両方を使用できます。If both the depth buffer and a focus plane are provided, the system may use both. 具体的には、深度バッファーと、アプリが動いているホログラムを表示するときの速度ベクターを含むフォーカス ポイントの両方を指定すると便利ができます。In particular, it can be helpful to provide both the depth buffer and a focus point which includes a velocity vector when your app displays holograms that are in motion.

詳細についてはすべて、低レベルここで、チェック アウト、 DirectX でレンダリング記事。For all the low-level details here, check out the Rendering in DirectX article.

Holographic カメラHolographic cameras

Windows Mixed Reality の概念を紹介する、 holographic カメラします。Windows Mixed Reality introduces the concept of a holographic camera. Holographic のカメラは 3D グラフィックスのテキストにある従来のカメラに似ています: 両方外部定義 (位置と向き) と組み込みのカメラのプロパティ (例: フィールドからビューの) 仮想 3D シーンを表示するために使用します。Holographic cameras are similar to the traditional camera found in 3D graphics texts: they define both the extrinsic (position and orientation) and intrinsic camera properties (ex: field-of-view) used to view a virtual 3D scene. 従来の 3D カメラとは異なり、アプリケーションは位置、向き、およびカメラの固有のプロパティのコントロールにありませんが。Unlike traditional 3D cameras, the application is not in control of the position, orientation, and intrinsic properties of the camera. 代わりに、位置と holographic のカメラの向きに暗黙的にによって制御されます、ユーザーの移動。Rather, the position and orientation of the holographic camera is implicitly controlled by the user's movement. ユーザーの移動は、ビューの変換を使用してフレームごとに、アプリケーションに中継されます。The user's movement is relayed to the application on a frame-by-frame basis via a view transform. 同様に、カメラの固有のプロパティは、デバイスの調整されたレンズによって定義され、projection 変換を使用してフレームごとのリレー型します。Likewise, the camera's intrinsic properties are defined by the device's calibrated optics and relayed frame-by-frame via the projection transform.

一般に、アプリを表示して、ステレオのカメラは 1 つが。In general your app will be rendering for a single stereo camera. ただし、堅牢なレンダリング ループは、複数のカメラをサポートする必要があります、mono とステレオの両方のカメラをサポートする必要があります。However, a robust rendering loop should support multiple cameras and should support both mono and stereo cameras. システムを要求するユーザーなどの機能をアクティブにしたときに、代替の観点から表示するために、アプリなど、実際のキャプチャを混在(MRC) 該当ヘッドセットの形状に応じて。For example, the system may ask your app to render from an alternate perspective when the user activates a feature like mixed reality capture (MRC), depending on the shape of the headset in question. によって複数のカメラをサポートできるアプリを取得してオプトインで種類のカメラをサポートできるようにします。Apps which can support multiple cameras get them by opting-in to the kind of cameras they can support.

ボリュームの表示Volume rendering

医療を表示するときに MRI または 3d でボリュームをエンジニア リングボリューム レンダリング手法がよく使用されます。When rendering medical MRI or engineering volumes in 3D, volume rendering techniques are often used. これらの手法は、ユーザー自然で表示できますこのようなボリュームをキーの角度から自分の頭を移動するだけで、複合現実で特に興味深いで指定できます。These techniques can be particularly interesting in mixed reality, where users can naturally view such a volume from key angles, simply by moving their head.

HoloLens で解像度をサポートされています (第 1 世代)Supported resolutions on HoloLens (1st gen)


この記事には今後に予定するその他の更新があります。There will be more updates coming to this article in the future. 更新プログラムの一覧を表示します。View the update list

  • 現在、最大のサポートされている解像度のプロパティ、ビュー構成します。The current and maximum supported resolutions are properties of the view configuration. HoloLens は、既定では、720 p (1268 x 720) には、最大解像度に設定されます。HoloLens is set to the maximum resolution, which is 720p (1268x720), by default.
  • ビューポートがサポートされる最小サイズは、360 p (634 x 360) が 720p の 50% です。The lowest supported viewport size is 50% of 720p, which is 360p (634x360). HoloLens、これは 0.5 の ViewportScaleFactor です。On HoloLens, this is a ViewportScaleFactor of 0.5.
  • 540 p はより低い場合何もしないでvisual の低下が原因がピクセルのフィル レートでの bottle 突き止めるを識別するために使用できます。Anything lower than 540p is not recommended due to visual degradation, but can be used to identify bottle necks in pixel fill rate.

HoloLens 2 でサポートされている解決策Supported resolutions on HoloLens 2


HoloLens 2 に固有のガイダンスについて近日します。More guidance specific to HoloLens 2 coming soon.

関連項目See also