Share via


Registre d’entiers constants (référence PS HLSL)

Les registres d’entiers constants sont utilisés uniquement par la boucle - ps et rep - ps.

Ils peuvent être définis à l’aide defi - ps ou SetPixelShaderConstantI.

Lorsqu’il est utilisé comme argument de la boucle - instruction ps :

  • .x est le nombre d’itérations. (rep - ps utilise uniquement ce composant).
  • .y est la valeur initiale du compteur de boucle.
  • .z est l’étape d’incrémentation du compteur de boucle.
Versions du nuanceur de pixels 1_1 1_2 1_3 1_4 2_0 2_sw 2_x 3_0 3_sw
Registre d’entiers constants x x x

 

Le comportement des constantes du nuanceur a changé entre Direct3D 8 et Direct3D 9.

  • Pour Direct3D 9, les constantes définies avec defx attribuent des valeurs à l’espace constant du nuanceur. La durée de vie d’une constante déclarée avec des effets est limitée à l’exécution de ce nuanceur uniquement. À l’inverse, les constantes définies à l’aide des API SetXXXShaderConstantX initialisent des constantes dans l’espace global. Les constantes dans l’espace global ne sont pas copiées dans l’espace local (visible par le nuanceur) tant que SetxxxShaderConstants n’est pas appelé.
  • Pour Direct3D 8, les constantes définies avec defx ou les API attribuent des valeurs à l’espace constant du nuanceur. Chaque fois que le nuanceur est exécuté, les constantes sont utilisées par le nuanceur actuel, quelle que soit la technique utilisée pour les définir.

Registres