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.
Rubriques connexes
-
informations de référence sur hlSL