Swizzling (компьютерная графика)

Векторные вычисления, используемые в компьютерной графике

В компьютерной графике swizzles это класс операций, которые преобразуют векторы путем перестановки компонентов. [1] Swizzles также могут проецироваться из вектора одной размерности в вектор другой размерности, например, беря трехмерный вектор и создавая двухмерный или пятимерный вектор, используя компоненты исходного вектора. [2] Например, если A = {1,2,3,4}, где компоненты — это x, y, z, и wсоответственно, вы можете вычислить B = A.wwxy, после чего Bбудет равно {4,4,1,2}. Кроме того, можно создать двухмерный вектор с помощью A.wx или пятимерный вектор с помощью A.xyzwx. Объединение векторов и swizzling можно использовать различными способами. Это распространено в приложениях GPGPU [ нужен пример ] .

В терминах линейной алгебры это эквивалентно умножению на матрицу, строки которой являются стандартными базисными векторами . Если , то свизлинг , как указано выше, выглядит как А = ( 1 , 2 , 3 , 4 ) Т {\displaystyle A=(1,2,3,4)^{T}} А {\displaystyle А}

А . ж ж х у = [ 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}}.}

Смотрите также

Кривая Z-порядка

Ссылки

  1. ^ Лоулор, Орион. "OpenGL ARB_fragment_program Quick Reference ("Cheat Sheet")". Университет Аляски, Фэрбанкс . Получено 21 января 2014 г.
  2. ^ "Vec3Swizzles". glam . Получено 29 марта 2023 г. .
  • Документация по программе вершин OpenGL


Взято с "https://en.wikipedia.org/w/index.php?title=Swizzling_(компьютерная_графика)&oldid=1157060984"