Jump to content

4D вектор

В информатике 4D-вектор это 4-компонентный векторный тип данных . Использование включает однородные координаты для трехмерного пространства в компьютерной графике и красного, зеленого, синего альфа ( RGBA значения ) для растровых изображений с цветом и альфа-каналом (как таковые они широко используются в компьютерной графике). Они также могут представлять кватернионы (полезно для вращений), хотя алгебра, которую они определяют, другая.

Поддержка компьютерного оборудования

[ редактировать ]

Некоторые микропроцессоры имеют аппаратную поддержку 4D-векторов с инструкциями, работающими с 4- полосными инструкциями с одной командой и несколькими данными ( SIMD ), обычно со 128-битным путем данных и с плавающей запятой . 32-битными полями [1]

Конкретные инструкции (например, скалярное произведение 4 элементов ) могут облегчить использование одного 128-битного регистра для представления 4D-вектора. Например, в хронологическом порядке: Hitachi SH4 , PowerPC VMX128, расширение [2] и Intel x86 SSE4. [3]

Некоторые 4-элементные векторные движки (например, векторные модули PS2 ) пошли дальше, предоставив возможность транслировать компоненты как источники умножения и перекрестное произведение . поддерживать [4] [5] В более ранних поколениях конвейеров шейдеров графических процессоров (GPU) использовались с очень длинными командами (VLIW), наборы инструкций предназначенные для аналогичных операций.

Поддержка программного обеспечения

[ редактировать ]

Использование SIMD для 4D-векторов можно удобно обернуть в библиотеку векторной математики (обычно реализуемую на C или C++ ). [6] [7] [8] обычно используется при разработке видеоигр вместе с поддержкой матрицы 4×4 . Они отличаются от более общих библиотек линейной алгебры в других областях, ориентированных на матрицы произвольного размера. Такие библиотеки иногда поддерживают 3D-векторы, дополненные до 4D, или загрузку 3D-данных в 4D-регистры, при этом арифметика эффективно отображается в операции SIMD с помощью реализации встроенных функций для каждой платформы . Существует выбор между подходами AOS и SOA, учитывая наличие 4-элементных регистров, и инструкциями SIMD, которые обычно ориентированы на однородные данные.

Языки шейдеров для программирования графических процессоров (GPU) обычно имеют 4D-типы данных (наряду с 2D, 3D) с средствами доступа xyzw, включая перестановки или доступ к повороту , например, позволяющие легко заменять форматы RGBA или ARGB, получать доступ к двум 2D-векторам, упакованным в один 4D. вектор и т. д. [9] Современные графические процессоры с тех пор перешли на скалярные конвейеры с одной командой и несколькими потоками (SIMT) (для большей эффективности вычислений общего назначения на графических процессорах (GPGPU)), но по-прежнему поддерживают эту модель программирования. [10]

См. также

[ редактировать ]
  1. ^ «внутренние функции Intel SSE» .
  2. ^ «Собираем все вместе: анатомия игровой консоли XBox 360 (см. скалярное произведение VMX128)» (PDF) .
  3. ^ «скалярный продукт Intel SSE4» .
  4. ^ «Руководство пользователя VU0» (PDF) .
  5. ^ «Технико-экономическое обоснование использования PlayStation 2 для научных вычислений» (PDF) .
  6. ^ «научная векторная математика» . Гитхаб . 19 апреля 2022 г.
  7. ^ «GLM (библиотека векторной математики)» .
  8. ^ «Математика Microsoft DirectX» .
  9. ^ «Типы данных GLSL и Swizzling» .
  10. ^ «Графическое ядро ​​AMD следующее» .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 7e1e33d372a3bf210162a1433fc84d36__1718745480
URL1:https://arc.ask3.ru/arc/aa/7e/36/7e1e33d372a3bf210162a1433fc84d36.html
Заголовок, (Title) документа по адресу, URL1:
4D vector - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)