В компьютерной графике свизлы — это класс операций, которые преобразуют векторы путем перестановки компонентов. [1] Swizzles также могут проецировать вектор одной размерности на вектор другой размерности, например, взять трехмерный вектор и создать двухмерный или пятимерный вектор с использованием компонентов исходного вектора. [2] Например, если A = {1,2,3,4}
, где компоненты x
, y
, z
, и w
соответственно, вы можете вычислить B = A.wwxy
, после чего B
будет равно {4,4,1,2}
. Кроме того, можно создать двумерный вектор с помощью A.wx или пятимерный вектор с помощью A.xyzwx. Комбинирование векторов и Swizzling можно использовать по-разному. Это часто встречается в приложениях GPGPU [ необходим пример ] .
С точки зрения линейной алгебры это эквивалентно умножению на матрицу, строки которой являются стандартными базисными векторами . Если , то свистлинг, как указано выше, выглядит так: