Partager via


Feuille de route pour les applications de bureau DirectX

Voici les ressources clés pour vous aider à commencer à utiliser DirectX et C++ pour développer des applications de bureau gourmandes en graphismes, telles que des jeux. Il ne s’agit pas d’une liste complète de toutes les fonctionnalités ou des ressources disponibles.

Bien démarrer

Voici quelques rubriques clés. Configuration de votre projet DirectX, adaptation à Windows et exemples d’applications.

Rubrique Description
Créer votre première application Windows à l’aide de DirectX Utilisez ce tutoriel de base pour commencer à développer des applications DirectX, puis utilisez la feuille de route pour continuer à explorer DirectX.
Prise en main de DirectX pour Windows Passez en revue les étapes à suivre pour commencer à développer un jeu à l’aide de DirectX et C++.
Code complet pour une infrastructure DirectX Obtenez le code d’une infrastructure de rendu DirectX de base.
Utilisation de Direct3D 11 Cette section montre comment utiliser l’API Microsoft Direct3D 11 pour accomplir plusieurs tâches courantes.
Guide de programmation pour Direct3D 11 Le guide de programmation contient des informations sur l’utilisation du pipeline programmable Microsoft Direct3D 11 pour créer des graphiques 3D en temps réel pour les applications de bureau.
Outils pour les graphiques DirectX Documentation des outils utilisés pour prendre en charge le développement DirectX.
Nouveautés de Direct3D 11 Répartition de toutes les fonctionnalités ajoutées dans les versions les plus récentes de DirectX et Direct3D (actuellement 11.2).
Télécharger Visual Studio 2013 Vous devez avoir Visual Studio Express 2013 pour Windows Desktop pour créer des jeux du Windows Store. Pour une visite guidée de Visual Studio, consultez Développer des applications du Windows Store à l’aide de Visual Studio 2012. Pour plus d’informations sur les nouvelles fonctionnalités de Visual Studio, consultez Surbrillances des produits pour Visual Studio 2013.
Où est le kit SDK DirectX ? Contient des conseils pour les développeurs qui souhaitent intégrer leurs projets DirectX dans Microsoft Visual Studio.

Exemples d'applications

Rubrique Description
Exemple Win32 du didacticiel Direct3D Exemple de didacticiel De bureau Direct3D de base.
Exemple de rendu vidéo DirectX Exemple qui illustre le rendu vidéo personnalisé avec Direct3D.

Passer en revue les principaux concepts de Direct3D 11

Rubrique Description
Graphics Pipeline Couvre le pipeline graphique Direct3D 11 de base.
Rendu Couvre les modèles de rendu Direct3D, les composants, les nuanceurs et le flux d’appels d’API.
Ressources Couvre les « ressources » Direct3D, telles que les mémoires tampons et d’autres types de ressources GPU.
Effets Couvre l’instanciation et les effets de multi nuanceur Direct3D.
Guide pratique pour créer une chaîne d’échange Comment créer la chaîne d’échange utilisée pour dessiner des pixels dans une région de l’écran.
Procédure : créer un appareil et un contexte immédiat Comment créer une abstraction d’appareil Direct3D et un contexte immédiat pour le dessin.
Guide pratique pour créer une mémoire tampon de vertex Comment créer une liste simple de sommets de maillage à traiter par le GPU.
Guide pratique pour créer une mémoire tampon d’index Comment créer une mémoire tampon d’index permettant au nuanceur de vertex de suivre l’ordre des sommets dans un maillage.
Guide pratique pour créer une mémoire tampon constante Comment passer des données constantes (uniformes) entre le processeur et le GPU pendant le rendu.
Guide pratique pour créer une texture Comment créer une texture ou une autre ressource de mémoire tampon qui peut être échantillonné par le GPU.
Procédure : initialiser une texture à partir d’un fichier Comment charger une texture à partir d’un fichier et la traiter pour l’utiliser par le pipeline du nuanceur.
Guide pratique pour compiler un nuanceur Comment compiler un nuanceur à utiliser dans votre application graphique.

API graphiques

Rubrique Description
Direct3D 11 Documentation des API principales pour la virtualisation du GPU et de ses ressources, ainsi que pour le dessin de graphiques à l’aide d’un modèle de nuanceur unifié.
Direct3D HLSL Documentation de référence pour High-Level shader Language, la syntaxe et les règles utilisées pour définir les programmes de nuanceur exécutés dans le cadre du pipeline graphique dans un modèle de nuanceur unifié.
Interface graphique DirectX (DXGI) Documentation des API de bas niveau utilisées pour acquérir l’interface GPU et les ressources système.
Direct2D Documentation pour les API Direct2D, qui prennent en charge le dessin de primitives 2D. En règle générale, Direct2D est utilisé pour les interfaces utilisateur personnalisées, le traitement et le traitement par lot d’images, ainsi que pour les jeux simples.
DirectWrite Documentation pour les API DirectWrite, qui prennent en charge le rendu et la mise à l’échelle des polices personnalisées.
Composant Imagerie Windows (WIC) Documentation pour les API WIC, qui sont utilisées pour la lecture et la gestion de différents formats d’images bitmap.
DirectDraw Surfaces (DDS) pour les textures Documentation pour les API DDS, qui sont utilisées pour la compression et la décompression de textures 2D conjointement avec les API WIC.
DirectXMath Documentation pour les API DirectXMath, qui prennent en charge Direct3D avec un ensemble de types et de fonctions adaptés au développement graphique en temps réel 3D. (Anciennement XNAMath.)
DirectCompute Documentation pour les API DirectCompute, utilisées pour les fonctionnalités de calcul ou de nuanceur à usage général.

API audio, multimédia et d’entrée

Rubrique Description
Guide de programmation XAudio2 Nœud de niveau supérieur pour la documentation conceptuelle de l’API audio XAudio2.
Référence de programmation XAudio2 Nœud de niveau supérieur pour la documentation de référence sur l’API audio XAudio2.
Guide de programmation XInput Nœud de niveau supérieur pour la documentation conceptuelle de l’API du contrôleur XInput.
Informations de référence sur la programmation XInput Nœud de niveau supérieur pour la documentation de référence de l’API du contrôleur XInput.
Media Foundation Nœud de niveau supérieur pour la documentation de l’API de lecture multimédia (audio/vidéo) Media Foundation (MF). En règle générale, mf est utilisé dans les jeux pour la lecture de bande-son, tandis que XAudio2 est utilisé pour l’audio dynamique.

Port vers DirectX 11

Rubrique Description
Migration vers Direct3D 11 Conseils de base pour déplacer votre codebase DirectX 9 vers DirectX 11.
Techniques de codage à double usage pour les jeux Billet de blog détaillé sur le développement des niveaux de fonctionnalités DirectX 9_* et DirectX 11_* dans une seule application.
Implémentation de mémoires tampons d’ombre pour le niveau de fonctionnalité Direct3D 9 Conseils pour l’implémentation de shadow maps sous le niveau de fonctionnalité DirectX 9_*.

Utiliser C++

Si vous êtes une vieille main avec C++ sur les plateformes Windows, les choses peuvent être un peu différentes. Voici quelques pointeurs vers des rubriques qui peuvent vous aider à comprendre la différence.

Notes

Certaines de ces rubriques vous aident à gérer votre application C++/CX. Toutefois, nous vous recommandons d’utiliser C++/WinRT pour les nouvelles applications. C++/WinRT est une projection de langage C++17 moderne entièrement standard pour les API Windows Runtime (WinRT), implémentée en tant que bibliothèque basée sur un fichier d’en-tête et conçue pour vous fournir un accès de première classe à l’API Windows moderne.

Rubrique Description
Référence du langage Visual C++ (C++/CX) Page de haut niveau qui établit un lien vers du contenu lié à C++.
Référence rapide (Windows Runtime et Visual C++) Tableau qui fournit des informations rapides sur les opérateurs et mots clés des extensions de composant Visual C++ (C++/CX).
Système de type (C++/CX) Contenu de référence pour les types pris en charge par C++/CX.
Espaces de noms (C++/CX) Contenu de référence pour les espaces de noms qui contiennent des types spécifiques à C++qui peuvent être utilisés dans les applications du Windows Store.
Rubrique Description
Programmation asynchrone (DirectX et C++) Découvrez la programmation asynchrone et multithread pour les applications et les jeux DirectX.
Programmation asynchrone en C++ Décrit les méthodes de base pour utiliser la classe de tâches pour utiliser Windows Runtime méthodes asynchrones.
task, classe (runtime d’accès concurrentiel) Documentation de référence pour la classe de tâches.
Parallélisme des tâches (runtime d’accès concurrentiel) Discussion approfondie sur la classe de tâches et la façon de l’utiliser.

Bibliothèques utiles supplémentaires pour la programmation Windows C++

Rubrique Description
Bibliothèque de modèles C++ Standard Windows Runtime types s’exécutent bien avec les types de bibliothèque de modèles standard. La plupart des applications du Windows Store C++ utilisent des collections et des algorithmes de bibliothèque de modèles standard, sauf au niveau de la limite ABI.
bibliothèque de modèles parallèles PPL fournit des algorithmes et des types qui simplifient le parallélisme des tâches et le parallélisme des données sur le processeur.
C++ Accelerated Massive Parallelism (C++ AMP) C++ AMP permet d’accéder au GPU pour le parallélisme des données à usage général sur les cartes vidéo qui prennent en charge DirectX 11.

Blogs et autres ressources

Rubrique Description
Blog Jeux pour Windows et DirectX Blog régulièrement mis à jour à partir d’un contributeur de développement DirectX clé et d’une ressource exceptionnelle pour les développeurs DirectX.
Blog des développeurs Windows DirectX Blog windows DirectX officiel.
Blog DirectX de Shawn Hargreave) Blog de développement d’un autre contributeur de développement Windows DirectX très respecté.
Kit de ressources DirectX Le Kit d’outils DirectX (DxTK), qui contient un certain nombre d’API de prise en charge utiles pour le chargement de maillages, la lecture de sons et d’autres comportements courants.
Bibliothèque de traitement des textures DirectXTex Bibliothèque de traitement de textures DirectX (DxTEX), qui contient des API de prise en charge pour le traitement de texture et la compression/décompression.