逐步解說:在 Direct3D 11 中使用深度緩衝區實作陰影磁碟區

本逐步解說示範如何在所有 Direct3D 功能層級的裝置上使用 Direct3D 11,使用深度圖來轉譯陰影磁碟區。

主題 說明

建立深度緩衝區裝置資源

瞭解如何建立支援陰影磁碟區深度測試所需的 Direct3D 裝置資源。

將陰影圖轉譯為深度緩衝區

從光線的角度轉譯,建立代表陰影磁碟區的二維深度圖。

使用深度測試轉譯場景

透過在頂點 (或幾何形狀) 著色器和像素著色器中新增深度測試來建立陰影效果。

支援各種硬體的陰影圖

在運作速度更快的裝置上轉譯更高精確度的陰影,在功能較不強大的裝置上則更快呈現陰影。

 

陰影對應應用程式到 Direct3D 9 桌面的移植

Windows 8 將深度比較功能新增至功能層級 9_1 和 9_3。 現在您可以將具有陰影磁碟區的轉譯程式碼移轉至 DirectX 11,而 Direct3D 11 轉譯器將會與功能層級 9 裝置向下相容。 本逐步解說示範任何 Direct3D 11 應用程式或遊戲如何使用深度測試來實作傳統的陰影磁碟區。 程式碼涵蓋下列程序:

  1. 建立陰影對應的 Direct3D 裝置資源。
  2. 新增轉譯階段以建立深度圖。
  3. 將深度測試新增至主要轉譯階段。
  4. 實作必要的著色器程式碼。
  5. 在降級硬體上快速轉譯的選項。

完成本逐步解說之後,您應該熟悉如何在 Direct3D 11 中實作與功能層級 9_1 和更高版本相容的基本相容陰影磁碟區技術。

必要條件

您應該為通用 Windows 平台 (UWP) DirectX 遊戲開發準備開發環境。 您還不需要範本,但您需要 Microsoft Visual Studio 2015 來建置本逐步解說的程式碼範例。

Direct3D

陰影對應技術文章