XMVectorPermute 模板

对两个向量的组件进行配置,以创建新的向量。

语法

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

parameters

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_ 常量用作 PermuteXPermuteYPermuteZPermuteW 的输入值。

注意

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

 

命名空间:使用 DirectX

平台要求

Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012 与 Windows SDK for Windows 8。 支持 Win32 桌面应用、Windows 应用商店应用和 Windows Phone 8 应用。

要求

要求
标头
DirectXMath.h

另请参阅

DirectXMath 库模板函数

XMVectorSwizzle