Константный логический регистр (справочник по HLSL PS)
Этот регистр представляет собой коллекцию битов, используемых в инструкциях управления статическим потоком (например, если bool - ps - else - ps - endif - ps). Их 16, поэтому шейдер может иметь 16 независимых условий ветви. Их можно задать с помощью defb - ps или SetPixelShaderConstantB.
Поведение констант шейдера изменилось между Direct3D 8 и Direct3D 9.
- Для Direct3D 9 константы, заданные с defx, присваивают значения пространству констант шейдера. Время существования константы, объявленной с defx, ограничивается только выполнением этого шейдера. И наоборот, константы, заданные с помощью API SetXXXShaderConstantX, инициализируют константы в глобальном пространстве. Константы в глобальном пространстве не копируются в локальное пространство (видимое для шейдера), пока не будет вызван setxxxShaderConstants.
- Для Direct3D 8 константы, заданные с defx или API, присваивают значения пространству констант шейдера. При каждом выполнении шейдера константы используются текущим шейдером независимо от метода их задания.
Версии шейдера пикселей | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_sw | 2_x | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
Константный логический регистр | x | x | x |
Связанные темы