Registro inteiro constante (referência vs HLSL)
Registros inteiros constantes são usados apenas por loop - vs e rep - vs.
Eles podem ser definidos usando defi - vs ou SetVertexShaderConstantI.
Quando usado como um argumento para o loop – vs instrução:
- .x é a contagem de iteração. (rep – vs usa apenas este componente).
- .y é o valor inicial do contador de loop.
- .z é a etapa de incremento do contador de loop.
O comportamento das constantes de sombreador foi alterado entre o Direct3D 8 e o Direct3D 9.
- Para o Direct3D 9, 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, 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. Sempre que o sombreador é executado, as constantes são usadas pelo sombreador atual, independentemente da técnica usada para defini-las.
Tópicos relacionados