Масштабирование подписанного регистра источника

Вычитает 0,5 из каждого канала и масштабирует результат на 2.0. Название bx2 происходит от смещения и масштабирования в два раза, который является операцией, которую она выполняет.

Синтаксис

source register_bx2

Регистрировать

Исходный регистр. Дополнительные сведения о типах регистров см. в разделе ps_1_1__ps_1_2__ps_1_3__ps_1_4 Registers.

Замечания

Эта операция обычно используется для расширения данных от [0.0 до 1.0] до [-1.0 до 1.0]. Этот модификатор предназначен для использования с арифметическими инструкциями. Этот модификатор часто используется для входных данных команды вычисления скалярного произведения (dp3 - ps). Использование _bx2 данных за пределами диапазона от 0 до 1 может привести к неопределенным результатам.

Операция масштабирования со знаком применяется к данным, считываемым из регистра перед выполнением следующей инструкции. Операция применяется ко всем четырем цветовым каналам (RGBA) следующим образом:

y = 2(x - 0.5)

Содержимое регистра не изменяется. Модификатор применяется только к данным, считываемым из регистра.

Этот модификатор является взаимоисключающим с инвертированным регистром источника , поэтому его нельзя применить к одинаковому регистру.

Сведения о версии:

  • Для ps_1_0 и ps_1_1 можно использовать _bx2 для любого исходного регистра для инструкций по текстуре формы texm3x2* и texm3x3*. _bx2 нельзя использовать ни в одной из других инструкций текстуры, таких как texreg2ar - ps или texreg2gb - ps.
  • Для ps_1_2 и ps_1_3 можно использовать _bx2 для любого регистра источника для любой инструкции tex*, за исключением: texreg2ar - ps, texreg2gb - ps, texbem - ps или texbeml - ps.

Пример

В этом примере выполняется выборка текстуры, преобразование данных в диапазон от -1 до +1 и вычисление скалярного произведения.

tex t0                        ; Read a texture color.
dp3_sat r0, t0_bx2, v0_bx2    ; Calculate a dot product.

модификаторы исходного регистра шейдера пикселей