Функция XMVectorSwizzle (directxmath.h)
Вращается вектор.
Синтаксис
XMVECTOR XM_CALLCONV XMVectorSwizzle(
[in] FXMVECTOR V,
[in] uint32_t E0,
[in] uint32_t E1,
[in] uint32_t E2,
[in] uint32_t E3
) noexcept;
Параметры
[in] V
Вектор для поворота.
[in] E0
Индекс, описывающий, какой компонент V следует поместить в x-компонент свернутого вектора. При значении 0 выбирается x-компонент, 1 — компонент y, 2 — z-компонент, а 3 — w-компонент.
[in] E1
Индекс, описывающий, какой компонент V следует поместить в компонент y в вращаемого вектора. При значении 0 выбирается x-компонент, 1 — компонент y, 2 — z-компонент, а 3 — w-компонент.
[in] E2
Индекс, описывающий, какой компонент V следует поместить в z-компонент в вращаемого вектора. При значении 0 выбирается x-компонент, 1 — компонент y, 2 — z-компонент, а 3 — w-компонент.
[in] E3
Индекс, описывающий, какой компонент V следует разместить в w-компоненте свернутого вектора. При значении 0 выбирается x-компонент, 1 — компонент y, 2 — z-компонент, а 3 — w-компонент.
Возвращаемое значение
Возвращает свернутый XMVECTOR.
Комментарии
В следующем коде показано, как можно использовать эту функцию.
XMVECTOR v = XMVectorSet( 10.0f, 20.0f, 30.0f, 40.0f );
XMVECTOR result = XMVectorSwizzle(v, 3, 3, 0, 2 );
Свернутый вектор (результат) будет иметь значение <40.0f, 40.0f, 10.0f, 30.0f>.
XM_SWIZZLE_X
, XM_SWIZZLE_Y
, XM_SWIZZLE_Z
и XM_SWIZZLE_W
являются константами, которые оцениваются как 0, 1, 2 и 3 соответственно для использования с XMVectorSwizzle.
Это идентично XM_PERMUTE_0X
, XM_PERMUTE_0Y
, XM_PERMUTE_0Z
и XM_PERMUTE_0W
.
Для постоянных индексов (E0, E1, E2, E3) гораздо эффективнее использовать шаблонную форму XMVectorSwizzle:
template<uint32_t SwizzleX, uint32_t SwizzleY, uint32_t SwizzleZ, uint32_t SwizzleW>
XMVECTOR XMVectorSwizzle(FXMVECTOR V)
Example: XMVectorSwizzle< 3, 3, 0, 2>(v);
Требования к платформе
Microsoft Visual Studio 2010 или Microsoft Visual Studio 2012 с windows SDK для Windows 8. Поддерживается для классических приложений Win32, приложений Магазина Windows и Windows Phone 8 приложений.Требования
Целевая платформа | Windows |
Header | directxmath.h (включая DirectXMath.h) |