チュートリアル: Direct3d11 の深度バッファーを使用してボリュームをシャドウの実装します。Walkthrough: Implement shadow volumes using depth buffers in Direct3D 11

このチュートリアルでは、すべての Direct3D 機能レベルのデバイスで Direct3D 11 を使い、深度マップを利用してシャドウ ボリュームをレンダリングする方法について説明します。This walkthrough demonstrates how to render shadow volumes using depth maps, using Direct3D 11 on devices of all Direct3D feature levels.

トピックTopic 説明Description

深度バッファー デバイス リソースを作成します。Create depth buffer device resources

シャドウ ボリュームの深度のテストをサポートするために必要な Direct3D デバイス リソースを作成する方法について説明します。Learn how to create the Direct3D device resources necessary to support depth testing for shadow volumes.

深度バッファーにシャドウ マップを表示します。Render the shadow map to the depth buffer

ライトの視点からレンダリングして、シャドウ ボリュームを表す 2 次元の深度マップを作成します。Render from the point of view of the light to create a two-dimensional depth map representing the shadow volume.

深度テストとシーンをレンダリングします。Render the scene with depth testing

シャドウ効果を作成するには、頂点 (またはジオメトリ) シェーダーとピクセル シェーダーに深度のテストを追加します。Create a shadow effect by adding depth testing to your vertex (or geometry) shader and your pixel shader.

さまざまなハードウェアでシャドウ マップをサポートします。Support shadow maps on a range of hardware

より高速なデバイスでは高品質なシャドウを、性能が低いデバイスではよりすばやいシャドウをレンダリングします。Render higher-fidelity shadows on faster devices and faster shadows on less powerful devices.

 

Direct3D 9 デスクトップに対するシャドウ マップの適用の移植Shadow mapping application to Direct3D 9 desktop porting

Windows 8 adde 9 の機能レベルを比較機能を d 深さ_1 から 9_3。Windows 8 adde d depth comparison functionality to feature level 9_1 and 9_3. シャドウ ボリュームを含むレンダリング コードを DirectX 11 に移行できるようになりました。Direct3D 11 レンダラーは機能レベル 9 のデバイスと下位互換性を持ちます。Now you can migrate rendering code with shadow volumes to DirectX 11, and the Direct3D 11 renderer will be downlevel compatible with feature level 9 devices. このチュートリアルでは、Direct3D 11 のアプリやゲームで深度のテストを使って従来のシャドウ ボリュームを実装する方法を説明します。This walkthrough shows how any Direct3D 11 app or game can implement traditional shadow volumes using depth testing. コードは次のプロセスに対応しています。The code covers the following process:

  1. シャドウ マッピング用の Direct3D デバイス リソースを作成する。Creating Direct3D device resources for shadow mapping.
  2. レンダリング パスを追加して深度マップを作成する。Adding a rendering pass to create the depth map.
  3. 深度のテストをメイン レンダリング パスに渡す。Adding depth testing to the main rendering pass.
  4. 必要なシェーダー コードを実行する。Implementing the necessary shader code.
  5. 下位レベル ハードウェアでのレンダリングを高速化するためのオプション。Options for fast rendering on downlevel hardware.

このチュートリアルを完了すると、9 の機能レベルと互換性がある direct3d11 の基本的な互換性のあるシャドウ ボリュームの手法を実装する方法を理解しておく必要がありますあります_1 以上です。Upon completing this walkthrough, you should be familiar with how to implement a basic compatible shadow volume technique in Direct3D 11 that's compatible with feature level 9_1 and above.

前提条件Prerequisites

ユニバーサル Windows プラットフォーム (UWP) DirectX ゲームの開発環境を準備する必要があります。You should Prepare your dev environment for Universal Windows Platform (UWP) DirectX game development. テンプレートは、まだ必要はありませんが、このチュートリアルのコード サンプルをビルドする、Microsoft Visual Studio 2015 が必要があります。You don't need a template yet, but you'll need Microsoft Visual Studio 2015 to build the code sample for this walkthrough.

Direct3DDirect3D

シャドウの技術情報のマッピングShadow mapping technical articles