Swizzling для регистра источника (справочник по HLSL VS)
Перед выполнением инструкции данные из исходного регистра копируются во временный регистр. Swizzling означает возможность копирования любого компонента исходного регистра в любой временный компонент регистра. Зависание не влияет на данные исходного регистра.
Зависание компонентов
Как показано в следующей таблице, свертывание можно применить к отдельным компонентам данных исходного регистра (где — один из допустимых входных регистров шейдера вершин — vs_1_1).
Модификатор компонента | Описание |
---|---|
r.[xyzw][xyzw][xyzw][xyzw] | Исходный swizzle |
- Все четыре компонента всегда копируются. Если указано менее четырех компонентов, последний компонент повторяется (xy означает .xyyy). Если компоненты не указаны, x повторяется (.xxxx).
- Компоненты могут отображаться в любом порядке. V0.ywx приводит к v0.ywxx.
- Компоненты rgba можно использовать соответственно для xyzw (r для x, g для b и т. д.).
- В этих инструкциях реализованы однокомпонентные вибры: exp, expp, log, logp, pow, rcp, rsq. Результат этих инструкций копируется во все четыре компонента регистра назначения.
Swizzling нельзя использовать для m3x2 — vs, m3x3 — vs, m4x3 — vs, и m4x4 — против инструкций.
Связанные темы