Prise en main de Direct3D

Direct3D est une API de bas niveau permettant de dessiner des primitives avec le pipeline de rendu ou d’effectuer des opérations parallèles avec le nuanceur de calcul.

Qu’est-ce que Direct3D ?

Direct3D est une API de bas niveau que vous pouvez utiliser pour dessiner des triangles, des lignes ou des points par image, ou pour démarrer des opérations hautement parallèles sur le GPU.

Direct3d:

  • Masque différentes implémentations GPU derrière une abstraction cohérente. Mais vous devez toujours savoir comment dessiner des graphiques 3D.
  • Est conçu pour piloter un processeur spécifique aux graphiques. Les GPU plus récents ont des centaines ou des milliers de processeurs parallèles.
  • Met l’accent sur le traitement parallèle. Vous configurez un ensemble d’états de rendu ou de calcul, puis démarrez une opération. Vous n’attendez pas de commentaires immédiats de l’opération. Vous ne mélangez pas les opérations processeur et GPU.

Quelles API Direct3D pouvez-vous utiliser ?

Les API Direct3D que vous choisissez dépendent du style d’application que vous souhaitez écrire.

  • Si vous souhaitez écrire une application UWP, utilisez un sous-ensemble d’API Direct3D 11, DXGI et HLSL. Pour obtenir la liste de ces API, consultez API Win32 et COM pour les applications UWP. Pour savoir comment écrire une application Direct3D 11 du Windows Store, consultez Créer des graphiques 3D avec DirectX.
  • Si vous écrivez une application de bureau, vous pouvez utiliser l’ensemble complet des API Direct3D 11, DXGI et HLSL.
  • À compter de Windows 8, nous ne prenons plus en charge activement l’infrastructure XNA pour les applications de bureau. Toutefois, les applications du Windows Store, les applications UWP et les applications de bureau peuvent utiliser l’ensemble complet des API XAudio2 et DirectXMath . Les applications de bureau peuvent utiliser l’ensemble complet des API XInput , tandis que les applications du Windows Store et les applications UWP peuvent utiliser la plupart des API XInput . Pour plus d’informations, consultez Versions XInput.

Quelle version de Direct3D ?

La version de l’API Direct3D que vous choisissez dépend du système d’exploitation et du niveau matériel que vous souhaitez cibler.

  • Si vous souhaitez cibler Windows 8 et versions ultérieures, utilisez les API Direct3D 11.
  • Utilisez les API Direct3D 9 avec Windows XP et versions ultérieures. Tout le matériel prend en charge les API Direct3D 9, même le matériel direct3D de niveau 11 plus récent.
  • Utilisez les API Direct3D 10 avec Windows Vista et versions ultérieures. Seul le matériel Direct3D 10 et versions ultérieures prend en charge les API Direct3D 10.
  • Utilisez les API Direct3D 10.1 et Direct3D 11 avec Windows 7 et versions ultérieures. Vous pouvez également utiliser les API Direct3D 10.1 et Direct3D 11 avec Windows Vista avec Service Pack 2 (SP2).

Pipeline de rendu Direct3D

Dans le pipeline de rendu Direct3D, les données circulent à partir de plusieurs sources, comme les affluents d’une rivière.

  • Certaines parties du flux sont programmables.
  • Certaines parties ont des boutons et des cadrans.
  • Les sources de données sont des flux série de paquets (sommets) ou des tableaux indexables (ressources de nuanceur).
  • Les vertex et les ressources de nuanceur circulent dans les primitives, que vous pouvez amplifier.
  • Les primitives et les ressources du nuanceur passent en opérations de pixels.

Nuanceur de calcul Direct3D

Avec le nuanceur de calcul Direct3D, tous les processeurs du GPU s’exécutent en parallèle. Ainsi, le nuanceur de calcul se comporte plus comme un étang qu’une rivière.