Registro booleano constante (referencia de PS de HLSL)
Este registro es una colección de bits que se usan en instrucciones de control de flujo estático (por ejemplo, si bool - ps - else - ps - endif - ps). Hay 16 de ellos, por lo tanto, un sombreador puede tener 16 condiciones de rama independientes. Se pueden establecer mediante defb - ps o SetPixelShaderConstantB.
El comportamiento de las constantes de sombreador ha cambiado entre Direct3D 8 y Direct3D 9.
- Para Direct3D 9, las constantes establecidas con defx asignan valores al espacio constante del sombreador. La duración de una constante declarada con defx se limita solo a la ejecución de ese sombreador. Por el contrario, las constantes establecidas mediante las API SetXXXShaderConstantX inicializan constantes en el espacio global. Las constantes del espacio global no se copian en el espacio local (visible para el sombreador) hasta que se llama a SetxxxShaderConstants.
- Para Direct3D 8, las constantes establecidas con defx o las API asignan valores al espacio constante del sombreador. Cada vez que se ejecuta el sombreador, el sombreador actual usa las constantes independientemente de la técnica utilizada para establecerlas.
Versiones del sombreador de píxeles | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
Registro booleano constante | x | x | x |
Temas relacionados