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


Константный с плавающей запятой (справочник по HLSL PS)

Входной регистр шейдера пикселей для константы с плавающей запятой 4D.

Их можно задать с помощью def — ps или SetPixelShaderConstantF.

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

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

Примеры

Ниже приведен пример объявления двух констант с плавающей запятой в шейдере.

def c40, 0.0f,0.0f,0.0f,0.0f;

Эти константы загружаются каждый раз, когда вызывается SetPixelShader.

Если вы задаете константные значения в API, объявление шейдера не требуется.

регистры