Share via


Registre float constant (référence PS HLSL)

Registre d’entrée du nuanceur de pixels pour une constante à virgule flottante 4D.

Ils peuvent être définis à l’aide def - ps ou SetPixelShaderConstantF.

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.

Exemples

Voici un exemple de déclaration de deux constantes à virgule flottante dans un nuanceur.

def c40, 0.0f,0.0f,0.0f,0.0f;

Ces constantes sont chargées chaque fois que SetPixelShader est appelé.

Si vous définissez des valeurs constantes avec l’API, aucune déclaration de nuanceur n’est requise.

Registres