Swizzling (computer graphics)
In computer graphics, swizzles are a class of operations that transform vectors by rearranging components.[1] Swizzles can also project from a vector of one dimensionality to a vector of another dimensionality, such as taking a three-dimensional vector and creating a two-dimensional or five-dimensional vector using components from the original vector.[2] 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}
. Additionally, one could create a two-dimensional vector with A.wx or a five-dimensional vector with A.xyzwx. Combining vectors and swizzling can be employed in various ways. This is common in GPGPU applications[example needed].
In terms of linear algebra, this is equivalent to multiplying by a matrix whose rows are standard basis vectors. If [math]\displaystyle{ A=(1,2,3,4)^T }[/math], then swizzling [math]\displaystyle{ A }[/math] as above looks like
- [math]\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}. }[/math]
See also
References
- ↑ Lawlor, Orion. "OpenGL ARB_fragment_program Quick Reference ("Cheat Sheet")". University of Alaska Fairbanks. https://www.cs.uaf.edu/2005/fall/cs301/support/glfp/. Retrieved 21 January 2014.
- ↑ "Vec3Swizzles". glam. https://docs.rs/glam/0.23.0/glam/trait.Vec3Swizzles.html. Retrieved 29 March 2023.
External links
Original source: https://en.wikipedia.org/wiki/Swizzling (computer graphics).
Read more |