В компьютерной графике swizzles — это класс операций, которые преобразуют векторы путем перестановки компонентов. [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 [ нужен пример ] .
В терминах линейной алгебры это эквивалентно умножению на матрицу, строки которой являются стандартными базисными векторами . Если , то свизлинг , как указано выше, выглядит как