Share via


Registro integer costante (riferimento PS HLSL)

I registri interi costanti vengono usati solo da loop - ps e rep - ps.

Possono essere impostati usando defi - ps o SetPixelShaderConstantI.

Se usato come argomento per il ciclo - istruzione ps :

  • .x è il numero di iterazioni. (rep - ps usa solo questo componente).
  • .y è il valore iniziale per il contatore del ciclo.
  • .z è il passaggio di incremento per il contatore del ciclo.
Versioni del pixel shader 1_1 1_2 1_3 1_4 2_0 2_sw 2_x 3_0 3_sw
Constant Integer Register x x x

 

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