Registro float costante (riferimento PS HLSL)

Registro di input del pixel shader per una costante a virgola mobile 4D.

Possono essere impostati usando def - ps o SetPixelShaderConstantF.

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.

Esempio

Di seguito è riportato un esempio che dichiara due costanti a virgola mobile all'interno di uno shader.

def c40, 0.0f,0.0f,0.0f,0.0f;

Queste costanti vengono caricate ogni volta che viene chiamato SetPixelShader .

Se si impostano valori costanti con l'API, non è necessaria alcuna dichiarazione di shader.

Registri