Partilhar via


Registro de flutuação constante (referência HLSL PS)

Registro de entrada do sombreador de pixel para uma constante de ponto flutuante 4D.

Eles podem ser definidos usando def - ps ou SetPixelShaderConstantF.

O comportamento das constantes de sombreador foi alterado entre o Direct3D 8 e o Direct3D 9.

  • Para o Direct3D 9, as constantes definidas com defx atribuem valores ao espaço constante do sombreador. O tempo de vida de uma constante declarada com defx é limitado apenas à execução desse sombreador. Por outro lado, as constantes definidas usando as APIs SetXXXShaderConstantX inicializam constantes no espaço global. As constantes no espaço global não são copiadas para o espaço local (visível para o sombreador) até que SetxxxShaderConstants seja chamado.
  • Para o Direct3D 8, as constantes definidas com defx ou as APIs atribuem valores ao espaço constante do sombreador. Cada vez que o sombreador é executado, as constantes são usadas pelo sombreador atual, independentemente da técnica usada para defini-los.

Exemplos

Aqui está um exemplo que declara duas constantes de ponto flutuante dentro de um sombreador.

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

Essas constantes são carregadas sempre que SetPixelShader é chamado.

Se você estiver definindo valores constantes com a API, não será necessária nenhuma declaração de sombreador.

Registos