В інформатиці 4D вектор – це 4-компонентний векторний тип даних. Використання включає однорідні координати для тривимірного простору в комп’ютерній графіці та значення червоно-зелено-синього альфа (RGBA) для растрових зображень із кольоровим i альфа-каналом (як такі, вони широко використовуються в комп’ютерній графіці). Вони також можуть представляти кватерніони (корисно для обертання), хоча алгебра, яку вони визначають, інша.
Підтримка комп'ютерного обладнання Деякі мікропроцесори мають апаратну підтримку 4D-векторів з інструкціями, що мають справу з інструкціями з 4 смугами одиночного потоку команд з множинним потоком даних (SIMD), зазвичай із 128-бітним шляхом даних i 32-бітними полями з плаваючою комою.
Спеціальні інструкції (наприклад, 4-елементний скалярний добуток) можуть полегшити використання одного 128-бітного регістра для представлення 4D-вектора. Наприклад, у хронологічному порядку: Hitachi SH4, розширення PowerPC VMX128 i Intel X86 SSE4.
Деякі 4-елементні векторні механізми (наприклад, векторні модулі PS2) пішли далі з можливістю транслювати компоненти як кілька джерел i підтримкою векторного добутку. Попередні покоління конвеєрів шейдерів графічного процесора використовували набори інструкцій з дуже довгими командними словами (VLIW), призначені для подібних операцій.
Підтримка програмного забезпечення Використання SIMD для 4D-векторів можна зручно обернути в бібліотеку векторної математики (зазвичай реалізовану в C або C++), яка зазвичай використовується в розробці відеоігор, разом із підтримкою матриці 4×4. Вони відрізняються від більш загальних бібліотек лінійної алгебри в інших областях, які зосереджуються на матрицях довільного розміру. Такі бібліотеки іноді підтримують 3D-вектори, додані до 4D, або завантажують 3D-дані в 4D-реєстри, з арифметикою, яка ефективно відображається в операціях SIMD за допомогою реалізації вбудованих функцій для кожної платформи. Існує вибір між підходами масива структур (AOS) i структури масивів (SOA), враховуючи наявність 4-елементних регістрів, проти інструкцій SIMD, які зазвичай налаштовані на однорідні дані.
Мови затінення для програмування графічного процесора (GPU) зазвичай мають 4D-типи даних (разом з 2D, 3D) із засобами доступу , включаючи перестановку або доступ з перемиканням, наприклад, що дозволяють легко міняти місцями формати RGBA або ARGB, отримувати доступ до двох 2D-векторів, упакованих в один 4D-вектор, тощо. Сучасні графічні процесори з тих пір перейшли до скалярних конвеєрів з одиночного потоку команд з декількома потоками даних (SIMT) (для більшої ефективності в обчисленнях загального призначення на графічних процесорах (GPGPU)), але все ще підтримують цю модель програмування.
Див. також
Евклідов простір Чотиривимірний простір Кватерніон Розмір Тессеракт
Примітки