Jump to content

Swizzling (computer graphics)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Bddap (talk | contribs) at 16:33, 29 March 2023 (Make it clear that swizzles can be used to change the dimensionality of a vector.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In computer graphics, swizzling is an operation that composes vectors by arbitrarily rearranging and combining components of other vectors[1]. This process 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 , then swizzling as above looks like

See also

Z-order curve

References

  1. ^ Lawlor, Orion. "OpenGL ARB_fragment_program Quick Reference ("Cheat Sheet")". University of Alaska Fairbanks. Retrieved 21 January 2014.
  2. ^ "Vec3Swizzles". glam. Retrieved 29 March 2023.