Condividi tramite


Registro booleano costante (riferimento PS HLSL)

Questo registro è una raccolta di bit usati nelle istruzioni di controllo del flusso statico (ad esempio, se bool - ps - else - ps - endif - ps). Ci sono 16 di essi, quindi, uno 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 dello shader. La durata di una costante dichiarata con defx è limitata solo all'esecuzione 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 (visibile allo shader) finché non viene chiamato SetxxxShaderConstants.
  • Per Direct3D 8, le costanti impostate con defx o le API assegnano entrambi i valori allo spazio costante dello shader. Ogni volta che viene eseguito lo shader, le costanti vengono usate dallo shader corrente indipendentemente dalla tecnica usata per impostarle.
Versioni del 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