Поделиться через


Функция XMVectorPermute (directxmath.h)

Перемыкает компоненты двух векторов для создания нового вектора.

Синтаксис

XMVECTOR XM_CALLCONV XMVectorPermute(
  [in] FXMVECTOR V1,
  [in] FXMVECTOR V2,
       uint32_t  PermuteX,
       uint32_t  PermuteY,
       uint32_t  PermuteZ,
       uint32_t  PermuteW
) noexcept;

Параметры

[in] V1

Первый вектор.

[in] V2

Второй вектор.

PermuteX

Форма индекса 0–7, указывающая, откуда следует скопировать компонент X нового вектора.

PermuteY

Форма индекса 0–7, указывающая, откуда следует скопировать компонент Y нового вектора.

PermuteZ

Форма индекса от 0 до 7, указывающая, откуда следует скопировать компонент Z нового вектора.

PermuteW

Форма индекса 0–7, указывающая, откуда следует скопировать компонент W нового вектора.

Возвращаемое значение

Возвращает пермутированный вектор, полученный в результате объединения исходных векторов.

Комментарии

Если все 4 индекса ссылаются только на один вектор (т. е. все они находятся в диапазоне 0–3 или все в диапазоне 4–7), для повышения производительности используйте XMVectorSwizzle .

Константы XM_PERMUTE_ предоставляются для использования в качестве входных значений для PermuteX, PermuteY, PermuteZ и PermuteW.

Для постоянных параметров PermuteX/Y/Z/W гораздо эффективнее использовать форму шаблона XMVectorPermute:


template<uint32_t PermuteX, uint32_t PermuteY, uint32_t PermuteZ, uint32_t PermuteW>
    XMVECTOR XMVectorPermute(FXMVECTOR V1, FXMVECTOR V2)

Example: XMVectorPermute<XM_PERMUTE_0Z, XM_PERMUTE_1X, XM_PERMUTE_0W, XM_PERMUTE_1Y>( V1, V2 );
   
Примечание Эта версия XMVectorPermute является новой для DirectXMath. Библиотека XNAMath версии 2.x использовала XMVectorPermuteControlэлемент управления XMVECTOR вместо 4 индексов для XMVectorPermuteи использовала разные значения для констант XM_PERMUTE_x.
 

Требования к платформе

Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и приложений Windows Phone 8.

Требования

Требование Значение
Целевая платформа Windows
Header directxmath.h (включая DirectXMath.h)

См. также раздел

Компонентно-векторные функции

XMVectorSwizzle