Partager via


Fonctionnalités de l’API (Direct3D 10)

Le pipeline graphique Direct3D 10 représente un changement d’architecture fondamental, reconstruit à partir de zéro dans le matériel et les logiciels pour alimenter la nouvelle génération de jeux et d’applications multimédias 3D. Il utilise le modèle de pilote d’affichage Windows (WDDM), qui permet d’améliorer les performances et le comportement, comme la mémoire GPU virtuelle.

Les développeurs familiarisés avec Direct3D 9 découvriront une série d’améliorations fonctionnelles et d’améliorations des performances dans Direct3D 10, notamment :

  • Possibilité de traiter des primitives entières dans la nouvelle phase de nuanceur de géométrie.
  • Possibilité de générer des données de vertex générées par le pipeline en mémoire à l’aide de l’étape de sortie de flux.
  • Organisation de l’état du pipeline en 5 objets d’état immuables, ce qui permet une configuration rapide du pipeline.
  • Organisation des constantes du nuanceur en mémoires tampons constantes, ce qui réduit la surcharge de bande passante pour fournir des données constantes du nuanceur.
  • Possibilité d’effectuer l’échange et la configuration des matériaux par primitive à l’aide d’un nuanceur de géométrie.
  • Nouveaux types de ressources (y compris les tableaux de textures qui peuvent être indexés à partir de nuanceurs) et formats de ressources.
  • Généralisation accrue de l’accès aux ressources à l’aide d’une vue.
  • Les bits de fonctionnalités matérielles héritées (majuscules) ont été supprimés au profit d’un ensemble complet de fonctionnalités garanties, qui cible le matériel direct3D à 10 classes (minimum).
  • Runtime en couches : l’API Direct3D 10 est construite avec des couches, en commençant par les fonctionnalités de base et en créant des fonctionnalités facultatives et d’aide aux développeurs (débogage, etc.) dans les couches externes.
  • Intégration HLSL complète : tous les nuanceurs Direct3D 10 sont écrits en HLSL et implémentés avec le noyau common-shader.
  • Augmentation du nombre de cibles de rendu, de textures et d’échantillonneurs. Il n’existe pas non plus de limite de longueur du nuanceur.
  • Opérations de nuanceur entier et au niveau du bit.
  • Lecture d’une surface de profondeur/gabarit ou d’une ressource multi-échantillonnée, une fois qu’elle n’est plus liée en tant que cible de rendu.
  • Prise en charge de l’alpha-à-couverture multi-échantillonnée.

Il existe d’autres différences de comportement que les développeurs Direct3D 9 doivent également connaître (voir Considérations relatives à Direct3D 9 à Direct3D 10).

Voici la liste des fonctionnalités Direct3D 9 qui ne sont plus prises en charge ou qui ont été révisées dans Direct3D 10 (voir Fonctionnalités déconseillées).

Guide de programmation pour Direct3D 10