チュートリアル: Direct3D 11 の深度バッファーを使ったシャドウ ボリュームの実装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 の他 d の深さの比較機能を機能レベル 9 _ 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 1 以上と互換性のある Direct3D 11 の基本的な互換性のあるシャドウボリューム手法を実装する方法について理解しておく必要があり _ ます。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