Registro booleano costante (riferimento PS HLSL)

Questo registro è una raccolta di bit usati nelle istruzioni di controllo del flusso statico, ad esempio se bool - pselse - ps - endif - ps - . Ci sono 16 di loro, pertanto, un shader può avere 16 condizioni di ramo indipendenti. Possono essere impostati usando defb - ps o SetPixelShaderConstantB.

Il comportamento delle costanti shader è cambiato tra Direct3D 8 e Direct3D 9.

  • Per Direct3D 9, le costanti impostate con defx assegnano valori allo spazio costante shader. La durata di una costante dichiarata con defx è limitata all'esecuzione solo di tale shader. Al contrario, le costanti impostate usando le API SetXXXShaderConstantX inizializzano le costanti nello spazio globale. Le costanti nello spazio globale non vengono copiate nello spazio locale (visibili nello shader) fino a quando non viene chiamato SetxxxShaderConstants.
  • Per Direct3D 8, le costanti impostate con defx o le API assegnano entrambi i valori allo spazio costante shader. Ogni volta che viene eseguito lo shader, le costanti vengono usate dal shader corrente indipendentemente dalla tecnica usata per impostarle.
Versioni di Pixel shader 1_1 1_2 1_3 1_4 2_0 2_sw 2_x 3_0 3_sw
Registro booleano costante x x x

 

Registri