Константный целочисленный регистр (справочник по VS HLSL)
Константные целочисленные регистры используются только циклом - vs и rep - vs.
Их можно задать с помощью defi - vs или SetVertexShaderConstantI.
При использовании в качестве аргумента цикла — и инструкции:
- .x — это число итераций. (rep - vs использует только этот компонент).
- .y — это начальное значение счетчика цикла.
- .z — шаг приращения счетчика цикла.
Поведение констант шейдера изменилось между Direct3D 8 и Direct3D 9.
- Для Direct3D 9 константы, заданные с defx, присваивают значения пространству констант шейдера. Время существования константы, объявленной с defx, ограничивается только выполнением этого шейдера. И наоборот, константы, заданные с помощью API SetXXXShaderConstantX, инициализируют константы в глобальном пространстве. Константы в глобальном пространстве не копируются в локальное пространство (видимое для шейдера), пока не будет вызван setxxxShaderConstants.
- Для Direct3D 8 константы, заданные с defx или API, присваивают значения пространству констант шейдера. При каждом выполнении шейдера константы используются текущим шейдером независимо от метода их задания.
Связанные темы