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

对于常量 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 );
   
注意 此版本的 是 DirectXMath 的新增功能 XMVectorPermute 。 XNAMath v2.x 库使用 XMVectorPermuteControl一个控件 XMVECTOR ,而不是 4 个索引, XMVectorPermute并为 XM_PERMUTE_x 常量使用不同的值。
 

平台要求

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

要求

要求
目标平台 Windows
标头 directxmath.h (包括 DirectXMath.h)

另请参阅

组件向量函数

XMVectorSwizzle