XMVectorPermute 模板

将两个向量中的组件进行分割,以创建新的向量。

语法

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

参数

V1

[in]第一个向量。

V2

[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_常量用作 PermuteXPermuteY、PermuteZPermuteW输入值。

注意

XMVectorPermute 模板是 DirectXMath 的新增模板,不适用于 XNAMath 2.x。

 

命名空间:使用 DirectX

平台要求

使用 Windows SDK for Windows 8 Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012。 支持 Win32 桌面应用、Windows Microsoft Store应用和 Windows Phone 8 个应用。

要求

要求 Value
标头
DirectXMath.h

另请参阅

DirectXMath 库模板函数

XMVectorSwizzle