Swizzling (computer graphics)

In computer graphics, swizzling means rearranging the elements of a vector.[1] For example, if A = {1,2,3,4}, where the components are x, y, z, and w respectively, you could compute B = A.wwxy, whereupon B would equal {4,4,1,2}. This is common in GPGPU applications.

In terms of linear algebra, this is equivalent to multiplying by a permutation matrix. If A=(1,2,3,4)^T, then swizzling A as above looks like

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}.

References

  1. Lawlor, Orion. "OpenGL ARB_fragment_program Quick Reference ("Cheat Sheet")". University of Alaska Fairbanks. Retrieved 21 January 2014.

External links