Partager via


Étapes de pipeline (Direct3D 10)

Le pipeline programmable Direct3D 10 est conçu pour générer des graphiques pour les applications de jeux en temps réel. Le diagramme suivant montre le flux de données de l’entrée vers la sortie à travers chacune des phases programmables.

diagramme du flux de données dans le pipeline programmable direct3d 10

Toutes les étapes peuvent être configurées à l’aide de l’API. Les étapes présentant des cœurs de nuanceur courants (les blocs rectangulaires arrondis) sont programmables à l’aide du langage de programmation HLSL. Comme vous le verrez, cela rend le pipeline extrêmement flexible et adaptable. L’objectif de chacune des phases est répertorié ci-dessous.

  • Input-Assembler étape : l’étape d’assembleur d’entrée est chargée de fournir des données (triangles, lignes et points) au pipeline.
  • Vertex-Shader Étape : l’étape du nuanceur de vertex traite les sommets, effectuant généralement des opérations telles que les transformations, l’apparence et l’éclairage. Un nuanceur de vertex prend toujours un sommet d’entrée unique et produit un seul sommet de sortie.
  • Geometry-Shader Étape : l’étape du nuanceur géométrique traite des primitives entières. Son entrée est une primitive complète (qui est trois sommets pour un triangle, deux sommets pour une ligne ou un sommet unique pour un point). En outre, chaque primitive peut également inclure les données de vertex pour toutes les primitives adjacentes aux bords. Cela peut inclure au maximum trois sommets supplémentaires pour un triangle ou deux sommets supplémentaires pour une ligne. Le nuanceur geometry prend également en charge l’amplification géométrique limitée et la dé-amplification. Étant donné une primitive d’entrée, le nuanceur geometry peut ignorer la primitive ou émettre une ou plusieurs nouvelles primitives.
  • Stream-Output stage : l’étape de sortie de flux est conçue pour diffuser en continu les données primitives du pipeline vers la mémoire sur son chemin vers le rastériseur. Les données peuvent être diffusées en continu et/ou passées dans le rastériseur. Les données diffusées en mémoire peuvent être recirculées dans le pipeline en tant que données d’entrée ou lecture à partir du processeur.
  • l’étape ratériseur : le rastériseur est chargé de découper les primitives, de préparer des primitives pour le nuanceur de pixels et de déterminer comment appeler des nuanceurs de pixels.
  • Pixel-Shader Stage : l’étape du nuanceur de pixels reçoit des données interpolées pour une primitive et génère des données par pixel, telles que la couleur.
  • Output-Merger Étape : l’étape de fusion de sortie est chargée de combiner différents types de données de sortie (valeurs du nuanceur de pixels, informations de profondeur et de gabarit) avec le contenu des mémoires tampons de cible de rendu et de profondeur/gabarit pour générer le résultat final du pipeline.

Guide de programmation pour Direct3D 10