Condividi tramite


Registro booleano costante (riferimento vs HLSL)

Questo registro è una raccolta di bit usati nelle istruzioni di controllo del flusso statico (ad esempio, se bool - vs - else - vsendif - vs - ). Ne esistono 16, pertanto uno shader può avere 16 condizioni di ramo indipendenti. Possono essere impostati usando defb - vs o SetVertexShaderConstantB.

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) 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 dello shader. Ogni volta che viene eseguito lo shader, le costanti vengono usate dallo shader corrente indipendentemente dalla tecnica usata per impostarle.

Registri vertex shader