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


Констант логический регистр (справочник по HLSL VS)

Этот регистр представляет собой коллекцию битов, используемых в инструкциях по управлению статическими потоками (например, если bool - vs - else - vs - endif - vs). Существует 16 из них, поэтому шейдер может иметь 16 независимых условий ветви. Их можно задать с помощью defb — vs или SetVertexShaderConstantB.

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

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

регистры шейдера вершин