Procedura guidata: Implementare volumi d’ombra tramite buffer di intensità in Direct3D 11Walkthrough: Implement shadow volumes using depth buffers in Direct3D 11

Questa procedura guidata dimostra come eseguire il rendering di volumi d’ombra tramite mappe di intensità usando Direct3D 11 nei dispositivi con tutti i livelli di funzionalità Direct3D.This walkthrough demonstrates how to render shadow volumes using depth maps, using Direct3D 11 on devices of all Direct3D feature levels.

ArgomentoTopic DescrizioneDescription

Creare risorse dispositivo per il buffer profonditàCreate depth buffer device resources

Scoprire come creare le risorse dispositivo Direct3D necessarie per supportare il testing della profondità dei volumi d’ombra.Learn how to create the Direct3D device resources necessary to support depth testing for shadow volumes.

Eseguire il rendering della mappa delle ombreggiature nel buffer profonditàRender the shadow map to the depth buffer

Rendering dal punto di vista delle fonti di luce per creare una mappa di intensità bidimensionale che rappresenta il volume d'ombra.Render from the point of view of the light to create a two-dimensional depth map representing the shadow volume.

Eseguire il rendering della scena con il testing di profonditàRender the scene with depth testing

Crea effetti di ombreggiatura aggiungendo il testing di intensità al vertex shader o al geometry shader e al pixel shader.Create a shadow effect by adding depth testing to your vertex (or geometry) shader and your pixel shader.

Supportare le mappe delle ombreggiature in un'ampia gamma di hardwareSupport shadow maps on a range of hardware

Rendering di ombreggiature con maggiore fedeltà nei dispositivi più veloci e di ombreggiature più veloci nei dispositivi meno potenti.Render higher-fidelity shadows on faster devices and faster shadows on less powerful devices.

 

Applicazione di mapping delle ombreggiature alla portabilità desktop Direct3D 9Shadow mapping application to Direct3D 9 desktop porting

Funzionalità di confronto depth di Windows 8 aggiunta d a livello di funzionalità 9 _ 1 e 9 _ 3.Windows 8 adde d depth comparison functionality to feature level 9_1 and 9_3. Hai ora la possibilità di eseguire la migrazione in DirectX 11 del codice di rendering con volumi d'ombra. Il renderer Direct3D 11 sarà compatibile con i dispositivi con livello di funzionalità 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. Questa procedura dettagliata illustra come qualsiasi app o gioco Direct3D 11 possa implementare i volumi d'ombra tradizionali tramite il testing di intensità.This walkthrough shows how any Direct3D 11 app or game can implement traditional shadow volumes using depth testing. Il codice è riferito al processo seguente:The code covers the following process:

  1. Creazione di risorse dispositivo Direct3D per il mapping delle ombreggiature.Creating Direct3D device resources for shadow mapping.
  2. Aggiunta di un passaggio di rendering per creare la mappa di profondità.Adding a rendering pass to create the depth map.
  3. Aggiunta del testing di intensità al passaggio di rendering principale.Adding depth testing to the main rendering pass.
  4. Implementazione del codice shader necessario.Implementing the necessary shader code.
  5. Opzioni per il rendering veloce in hardware di livello inferiore.Options for fast rendering on downlevel hardware.

Al termine di questa procedura dettagliata, è necessario avere familiarità con l'implementazione di una tecnica del volume shadow compatibile di base in Direct3D 11 compatibile con il livello di funzionalità 9 _ 1 e versioni successive.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.

PrerequisitiPrerequisites

Dovresti preparare l’ambiente per lo sviluppo di giochi DirectX per la piattaforma UWP (Universal Windows Platform).You should Prepare your dev environment for Universal Windows Platform (UWP) DirectX game development. Non hai ancora bisogno di un modello, ma dovrai usare Microsoft Visual Studio 2015 per compilare l'esempio di codice per questa procedura dettagliata.You don't need a template yet, but you'll need Microsoft Visual Studio 2015 to build the code sample for this walkthrough.

Direct3DDirect3D

Articoli tecnici sul mapping delle ombreggiatureShadow mapping technical articles