Поделиться через


Регистр константного целочисленного числа (справочник по HLSL PS)

Регистры константных целых чисел используются только циклами ps и rep - ps.

Их можно задать с помощью defi - ps или SetPixelShaderConstantI.

При использовании в качестве аргумента цикла — инструкция ps :

  • .x — число итераций. (rep - ps использует только этот компонент).
  • .y — это начальное значение счетчика цикла.
  • .z — шаг приращения для счетчика цикла.
Версии шейдера пикселей 1_1 1_2 1_3 1_4 2_0 2_sw 2_x 3_0 3_sw
Константный целочисленный регистр x x x

 

Поведение констант шейдера изменилось между Direct3D 8 и Direct3D 9.

  • Для Direct3D 9 константы, заданные с defx, присваивают значения пространству констант шейдера. Время существования константы, объявленной с defx, ограничивается только выполнением этого шейдера. И наоборот, константы, заданные с помощью API SetXXXShaderConstantX, инициализируют константы в глобальном пространстве. Константы в глобальном пространстве не копируются в локальное пространство (видимое для шейдера), пока не будет вызван setxxxShaderConstants.
  • Для Direct3D 8 константы, заданные с помощью defx или API, присваивают значения постоянному пространству шейдера. При каждом выполнении шейдера константы используются текущим шейдером независимо от метода, используемого для их задания.

Регистры