Procédure pas à pas : Porter une application Direct3D 9 simple vers DirectX 11 et la plateforme Windows universelle (UWP)

Cet exercice de portage indique comment faire passer une infrastructure de rendu simple de Direct3D 9 à Direct3D 11 et à la plateforme Windows universelle (UWP).

Rubrique Description

Initialiser Direct3D 11

Montre comment convertir du code d’initialisation Direct3D 9 en Direct3D 11, notamment comment obtenir des handles vers le périphérique Direct3D et le contexte de périphérique, et comment utiliser DXGI pour configurer une chaîne d’échange.

Convertir l’infrastructure de rendu

Montre comment convertir une infrastructure de rendu simple de Direct3D 9 à Direct3D 11, notamment comment porter des tampons de géométrie, comment compiler et charger des programmes de nuanceurs HLSL et comment implémenter la chaîne de rendu dans Direct3D 11.

Porter la boucle de jeu

Montre comment implémenter une fenêtre pour un jeu UWP et comment faire passer la boucle de jeu, notamment comment créer un IFrameworkView pour contrôler un CoreWindow en plein écran.

 

Cette rubrique examine progressivement deux chemins de code qui effectuent la même tâche graphique de base : afficher un cube en forme de vertex qui tourne. Dans les deux cas, le code couvre le processus suivant :

  1. Création d’un périphérique Direct3D et d’une chaîne d’échange.
  2. Création d’une mémoire tampon de vertex et d’un tampon d’index pour représenter un maillage de cube en couleur.
  3. Création d’un nuanceur de vertex qui transforme les vertex en espace d’écran, d’un nuanceur de pixels qui fusionne les valeurs de couleurs, compilation des nuanceurs et chargement des nuanceurs en tant que ressources Direct3D.
  4. Implémentation de la chaîne de rendu et présentation du cube dessiné à l’écran.
  5. Création d’une fenêtre, démarrage d’une boucle principale et traitement des messages de fenêtre.

À l’issue de cette procédure pas à pas, vous devrez connaître les différences élémentaires suivantes entre Direct3D 9 et Direct3D 11 :

  • Séparation du périphérique, du contexte de périphérique et de l’infrastructure graphique.
  • Processus de compilation des nuanceurs et chargement du bytecode de nuanceur au moment de l’exécution.
  • Manière de configurer des données par vertex pour le stade d’assembleur d’entrée (stade IA).
  • Manière d’utiliser un IFrameworkView pour créer un affichage CoreWindow.

Notez que cette procédure pas à pas utilise CoreWindow par souci de simplicité et ne couvre pas l’interopérabilité XAML.

Prérequis

Vous devez Préparer votre environnement pour le développement de jeux UWP DirectX. Vous n’avez pas encore besoin de modèle, mais Microsoft Visual Studio 2015 est nécessaire pour charger les exemples de code de cette procédure pas à pas.

Pour vous familiariser avec les concepts de programmation pour DirectX 11 et UWP présentés dans cette procédure pas à pas, voir les concepts et considérations en matière de portage.

Direct3D

Microsoft Store