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_ 常量用作 PermuteX、PermuteY、PermuteZ 和 PermuteW 的输入值。
对于常量 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) |