Partager via


Modèles de nuanceur et profils de nuanceur

Le langage de trame de fond de haut niveau pour DirectX implémente une série de modèles de nuanceur. À l’aide de HLSL, vous pouvez créer des nuanceurs programmables de type C pour le pipeline Direct3D. Chaque modèle de nuanceur s’appuie sur les fonctionnalités du modèle avant celui-ci, implémentant davantage de fonctionnalités avec moins de restrictions.

Le modèle de nuanceur 1 a démarré avec DirectX 8 et inclus des instructions de niveau d’assembly et de type C. Ce modèle présente de nombreuses limitations causées par le matériel de nuanceur programmable précoce. Le modèle de nuanceur 2 et 3 s’étend considérablement sur le nombre d’instructions et les nuanceurs de constantes peuvent utiliser. Ils sont beaucoup plus puissants que le modèle de nuanceur 1, mais portent toujours certaines des limitations existantes du premier modèle de nuanceur.

À compter de Windows Vista, le modèle de nuanceur 4 est une refonte complète. Il permet des instructions et des constantes illimitées (dans les contraintes matérielles de votre machine), a des objets modélisés pour rendre l’échantillonnage de texture plus propre et plus efficace, et a les restrictions les plus rares de n’importe quel modèle de nuanceur. Il nécessite toutefois le modèle de pilote Windows qui est disponible uniquement sur le système d’exploitation Windows Vista (ou version ultérieure).

Profils de nuanceur

Un profil de nuanceur est la cible pour la compilation d’un nuanceur ; ce tableau répertorie les profils de nuanceur pris en charge par chaque modèle de nuanceur.

Modèle de nuanceur Profils de nuanceur
modèle nuanceur 1 vs_1_1
modèle nuanceur 2 ps_2_0, ps_2_x, vs_2_0, vs_2_x, ps_4_0_level_9_0, ps_4_0_level_9_1, ps_4_0_level_9_3, vs_4_0_level_9_0, vs_4_0_level_9_1, vs_4_0_level_9_3, lib_4_0_level_9_1, lib_4_0_level_9_3
modèle nuanceur 3 ps_3_0, vs_3_0
modèle nuanceur 4 cs_4_0, gs_4_0, ps_4_0, vs_4_0, cs_4_1, gs_4_1, ps_4_1, vs_4_1, lib_4_0, lib_4_1
modèle nuanceur 5 cs_5_0, ds_5_0, gs_5_0, hs_5_0, ps_5_0, vs_5_0, lib_5_0 (bien que gs_4_0, gs_4_1, ps_4_0, ps_4_1, vs_4_0 et vs_4_1 ont été introduits dans le modèle de nuanceur 4.0, le modèle de nuanceur 5 ajoute la prise en charge de ces profils de nuanceur pour les mémoires tampons structurées et les mémoires tampons d’adresses d’octets.)
modèle nuanceur 6 cs_6_0, ds_6_0, gs_6_0, hs_6_0, ps_6_0, vs_6_0, lib_6_0

Différences entre Direct3D 9 et Direct3D 10 :

  • Direct3D 9 a introduit des modèles de nuanceur 1, 2 et 3.
  • Direct3D 10 a introduit le modèle de nuanceur 4.
  • Direct3D 10.1 a introduit le modèle de nuanceur 4.1.

Profils d’effet

Un profil d’effet est la cible pour la compilation d’un effet/nuanceur ; ce tableau répertorie les profils d’effet pris en charge par chaque version de Direct3D.

Différences entre Direct3D 9 et Direct3D 10 :

  • Direct3D 9 a introduit des profils d’infrastructure d’effet fx_1_0 et de fx_2_0.
  • Direct3D 10 a introduit un profil d’infrastructure d’effet fx_4_0.
  • Direct3D 10.1 a introduit un profil d’infrastructure d’effet fx_4_1.
  • Direct3D 11 a introduit un profil d’infrastructure d’effet fx_5_0.

Note

Ces profils d’effets hérités sont déconseillés.

informations de référence sur hlSL