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


Source Register Swizzling (справочник по HLSL VS)

Перед выполнением инструкции данные в исходном регистре копируются во временный регистр. Swizzling относится к возможности копирования любого компонента исходного регистра в любой временный компонент регистрации. Swizzling не влияет на данные регистра источника.

Swizzling компонента

Как показано в следующей таблице, свораживание может применяться к отдельным компонентам данных регистра источника (где является одним из допустимых входных данных шейдера вершин Регистры - vs_1_1).

Модификатор компонентов Описание
r.[xyzw][xyzw][xyzw][xyzw] Исходный swizzle

 

  • Все четыре компонента всегда копируются. Если задано менее четырех компонентов, последний компонент повторяется (xy означает Xyyy). Если компоненты не указаны, x повторяется (XXXX).
  • Компоненты могут отображаться в любом порядке. v0.ywx приводит к тому, что v0.ywxx.
  • Компоненты rgba можно использовать соответственно для xyzw (r для x, g для b и т. д.).
  • Эти инструкции реализуют swizzles для одного компонента источника: exp, expp, log, logp, pow, rcp, rsq. Результат этих инструкций копируется во все четыре компонента целевого регистра.

Swizzling нельзя использовать на m3x2 - vs, m3x3 - vs, m4x3 - vsи m4x4 - vs инструкции.

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