Тип вектора
Вектор — это тип данных, содержащий от одного до четырех скалярных компонентов. Каждый компонент вектора должен иметь одинаковый тип.
Объявление типа
Можно объявить векторные переменные с помощью скалярного типа имени содержимого вектора с количеством компонентов, которые он содержит:
TypeComponents Name
Где Type
является скалярным типом каждого компонента, Components
является константным целочисленным выражением от 1 до 4 включительно, указывающее количество компонентов и Name
является строкой ASCII, которая однозначно идентифицирует имя переменной.
Примеры:
int iScalar; // integer scalar
int1 iVector = 1; // vector containing one integer
float3 fVector = { 0.2f, 0.3f, 0.4f }; // vector containing three floats
Объявление в стиле шаблона
Альтернативный синтаксис объявления использует аргументы ключевого слова vector
и шаблона, чтобы указать скалярный тип и количество компонентов:
vector <Type=float, Components=4> Name
Где снова Type
является скалярным типом каждого компонента, Components
является целым числом от 1 до 4 включительно, указывая количество компонентов, но они указаны в угловых скобках в стиле шаблона.
Name
— это строка ASCII, которая однозначно идентифицирует имя переменной,
Обратите внимание, что параметр шаблона по умолчанию позволяет указывать 4-компонентные векторы заданного типа, оставляя последний параметр или 4-компонентные векторы с плавающей запятой, оставляя оба.
Ниже приведены некоторые примеры.
vector <int, 1> iVector = 1;
vector <double, 4> dVector = { 0.2f, 0.3f, 0.4f, 0.5f };
vector <float16_t> hVector = { 0.1f, 0.2f, 0.3f, 0.4f }; // Defaults to 4-component float16 vector
vector fVector = { -0.4f, -0.3f, -0.2f, -0.1f }; // Defaults to 4-component float vector
См. также
типов данных (DirectX HLSL)