Swizzling (computer graphics) とは

コンピュータグラフィックスでは、スウィズリングとはベクトルの要素を並べ替えることを意味します。たとえば、A = {1,2,3,4}の場合、コンポーネントがそれぞれx、y、z、wである場合、B = A.wwxyを計算すると、Bは{4,4,1、 2}。これは、GPGPUアプリケーションでは一般的です。
線形代数の場合、これは行列が標準基底ベクトルである行列を掛けることに等しい。 A = ( 1 , 2 , 3 , 4 ) T {\displaystyle A=(1,2,3,4)^{T}} の場合、上記のようにスウィズリング A {\displaystyle A} は次のようになります
A . w w x y = [ 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 ] [ 1 2 3 4 ] = [ 4 4 1 2 ] {\displaystyle A.wwxy={\begin{bmatrix}0&0&0&1\\0&0&0&1\\1&0&0&0\\0&1&0&0\end{bmatrix}}{\begin{bmatrix}1\\2\\3\\4\end{bmatrix}}={\begin{bmatrix}4\\4\\1\\2\end{bmatrix}}}