Registre booléen constant (référence HLSL PS)
Ce registre est une collection de bits utilisées dans les instructions de contrôle de flux statique (par exemple, si bool - ps - else - ps - endif - ps). Il y en a 16, par conséquent, un nuanceur peut avoir 16 conditions de branche indépendantes. Ils peuvent être définis à l’aide defb - ps ou SetPixelShaderConstantB.
Le comportement des constantes de nuanceur a changé entre Direct3D 8 et Direct3D 9.
- Pour Direct3D 9, les constantes définies avec des effets 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 de 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 des effets ou les API attribuent toutes deux 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.
Versions du nuanceur de pixels | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
Registre booléen constant | x | x | x |
Rubriques connexes