Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Swizzling относится к возможности копирования любого компонента исходного регистра в любой временный компонент регистрации. Swizzling не влияет на данные регистра источника. Перед выполнением инструкции данные в исходном регистре копируются во временный регистр.
Исходный swizzling
Исходный swizzle позволяет отдельному компоненту исходного регистра принимать значение любого из четырех компонентов одного и того же исходного регистра перед чтением регистра для вычислений.
Например, zxxy swizzle означает:
- Компонент .x будет принимать значение компонента .z
- Компонент .y принимает значение компонента .x
- Компонент .z будет принимать значение компонента .x
- Компонент .w принимает значение компонента .y
Компоненты могут отображаться в любом порядке. Если задано менее четырех компонентов, последний компонент повторяется. Например:
.xy = .xyyy
.wzx = .wzxx
.z = .zzzz
Если компонент не указан, не применяется ветвь.
Некоторые инструкции имеют ограничения для исходного swizzle. Они перечислены на респектированных страницах ссылок на инструкции.
Версии шейдера пикселей | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
.x | x | x | x | x | x | x | |||
.y | x | x | x | x | x | x | |||
.z | x* | x* | x* | x | x | x | x | x | x |
.w | x | x | x | x | x | x | x | x | x |
.xyzw (по умолчанию) | x | x | x | x | x | x | x | x | x |
.yzxw | x | x | x | x | x | ||||
.zxyw | x | x | x | x | x | ||||
Wzyx | x | x | x | x | x | ||||
произвольный swizzle | x | x | x | x |
* Доступно только в том случае, если маска записи назначения — W (.a).
Произвольный Swizzle
Swizzles можно применять к регистрам источников в произвольном порядке; То есть любой исходный регистр может принимать любую маску компонента в любом порядке.
Репликация Swizzle
Репликация swizzle копирует один компонент в другой. Это именно один из компонентов .x, y, .z, wwizzle (или R, .g, .b, эквивалентов).
Связанные разделы
-
регистров ps_2_0