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


Шаблон XMVectorPermute

Перемежает компоненты двух векторов, чтобы создать новый вектор.

Синтаксис

template<uint32_t PermuteX, uint32_t PermuteY, uint32_t PermuteZ, uint32_t PermuteW> XMVECTOR XMVectorPermute(
  [in]  XMVECTOR V1,
  [in]  XMVECTOR V2
);

Параметры

Версия 1

[in] Первый вектор.

Версия 2

[in] Второй вектор.

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

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

Комментарии

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

Обратите внимание, что библиотека использует специализации шаблонов на некоторых платформах для повышения производительности. Не все возможные зеркало варианты реализованы для этих особых случаев, поэтому отдавайте предпочтение переставлениям, когда элемент X результирующего вектора поступает из параметра V1, а не из параметра V2. Например, предпочитать использовать XMVectorPermute<0,1,4,5>(A,B); для XMVectorPermute(4,5,0,1)(B,A);.

Эта функция является версией шаблона XMVectorPermute , где аргументы Permute* являются значениями шаблона.

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

Примечание

Шаблон XMVectorPermute является новым для DirectXMath и недоступен для XNAMath 2.x.

 

Пространство имен: использование DirectX

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

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

Требования

Требование Значение
Заголовок
DirectXMath.h

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

Функции шаблонов библиотеки DirectXMath

XMVectorSwizzle