Swizzling (computer graphics)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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, one 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. [3]

In terms of linear algebra, this is equivalent to multiplying by a matrix whose rows are standard basis vectors. If A=(1,2,3,4)T, then swizzling A as above looks like

A.wwxy=[0001000110000100][1234]=[4412].

See also

[edit | edit source]

Z-order curve

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). (Relevant portion starts around 37min)
[edit | edit source]