Tutorial - implementar volúmenes de sombra con búferes de profundidad en Direct3D 11Walkthrough: Implement shadow volumes using depth buffers in Direct3D 11

En este tutorial se muestra cómo representar volúmenes de sombra mediante mapas de profundidad en Direct3D 11 en dispositivos de todos los niveles de característica de Direct3D.This walkthrough demonstrates how to render shadow volumes using depth maps, using Direct3D 11 on devices of all Direct3D feature levels.

TemaTopic DescripciónDescription

Crear recursos de dispositivo para búferes de profundidadCreate depth buffer device resources

Aprende cómo crear los recursos de dispositivo Direct3D necesarios para admitir la realización de pruebas de profundidad para volúmenes de sombra.Learn how to create the Direct3D device resources necessary to support depth testing for shadow volumes.

Representar el mapa de sombras en el búfer de profundidadRender the shadow map to the depth buffer

Representa desde el punto de vista de la luz para crear un mapa de profundidad de dos dimensiones representando el volumen de sombra.Render from the point of view of the light to create a two-dimensional depth map representing the shadow volume.

Representar la escena con prueba de profundidadRender the scene with depth testing

Crea un efecto de sombra agregando pruebas de profundidad al sombreador de vértices (o geometría) y al sombreador de píxeles.Create a shadow effect by adding depth testing to your vertex (or geometry) shader and your pixel shader.

Compatibilidad con mapas de sombras en una variedad de hardwareSupport shadow maps on a range of hardware

Representa sombras de alta fidelidad en dispositivos más rápidos, y sombras más rápidas en dispositivos menos eficaces.Render higher-fidelity shadows on faster devices and faster shadows on less powerful devices.

 

Migración de la aplicación de asignación de sombras al escritorio de Direct3D 9Shadow mapping application to Direct3D 9 desktop porting

Funcionalidad de comparación de profundidad de agrega d de Windows 8 para el nivel de características 9 _ 1 y 9 _ 3.Windows 8 adde d depth comparison functionality to feature level 9_1 and 9_3. Ahora puedes migrar el código de representación con volúmenes de sombra a DirectX 11 y el representador de Direct3D 11 ofrecerá compatibilidad con nivel inferior para dispositivos que tengan el nivel de característica 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. En este tutorial se muestra de qué manera cualquier aplicación o juego de Direct3D 11 puede implementar volúmenes de sombra mediante la prueba de profundidad.This walkthrough shows how any Direct3D 11 app or game can implement traditional shadow volumes using depth testing. El código abarca los siguientes procesos:The code covers the following process:

  1. Crear recursos de dispositivo Direct3D para asignación de sombras.Creating Direct3D device resources for shadow mapping.
  2. Agregar un pase de representación para crear el mapa de profundidad.Adding a rendering pass to create the depth map.
  3. Agregar la prueba de profundidad al pase de representación principal.Adding depth testing to the main rendering pass.
  4. Implementar el código de sombreador necesario.Implementing the necessary shader code.
  5. Opciones para una representación rápida en hardware de nivel inferior.Options for fast rendering on downlevel hardware.

Después de completar este tutorial, debe estar familiarizado con cómo implementar una técnica básica de volumen de sombra compatible en Direct3D 11 que sea compatible con el nivel de características 9 _ 1 y versiones posteriores.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.

Requisitos previosPrerequisites

Debes preparar el entorno de desarrollo para el desarrollo de juegos de DirectX para la Plataforma universal de Windows (UWP).You should Prepare your dev environment for Universal Windows Platform (UWP) DirectX game development. Todavía no necesitas una plantilla, pero sí necesitarás Microsoft Visual Studio 2015 para compilar el ejemplo de código de este tutorial.You don't need a template yet, but you'll need Microsoft Visual Studio 2015 to build the code sample for this walkthrough.

Direct3DDirect3D

Artículos técnicos sobre la asignación de sombrasShadow mapping technical articles