XMVectorInsert 函数 (directxmath.h)

旋转给定数量的 32 位分量的向量,并将结果的选定元素插入另一个向量。

语法

XMVECTOR XM_CALLCONV XMVectorInsert(
  [in] FXMVECTOR VD,
  [in] FXMVECTOR VS,
  [in] uint32_t  VSLeftRotateElements,
  [in] uint32_t  Select0,
  [in] uint32_t  Select1,
  [in] uint32_t  Select2,
  [in] uint32_t  Select3
) noexcept;

参数

[in] VD

要插入到的矢量。

[in] VS

向左旋转的矢量。

[in] VSLeftRotateElements

要向左旋转 VS 的 32 位组件的数目。

[in] Select0

为 0 或 1。 如果是,则旋转矢量的 x 分量将插入 到 VD 的相应分量中。 否则, VD 的 x 分量是单独保留的。

[in] Select1

为 0 或 1。 如果是,则旋转矢量的 y 分量将插入 到 VD 的相应分量中。 否则, VD 的 y 分量是单独保留的。

[in] Select2

为 0 或 1。 如果是,旋转矢量的 z 分量将插入 到 VD 的相应分量中。 否则, VD 的 z 分量是单独保留的。

[in] Select3

为 0 或 1。 如果是,则旋转矢量的 w 分量将插入 到 VD 的相应分量中。 否则,将单独保留 VD 的 w 组件。

返回值

返回旋转和插入产生的 XMVECTOR

注解

为了获得最佳性能,应将 XMVectorInsert 的结果分配回 VD

对于具有常量uint32_t参数的情况,使用 XMVectorInsert 的模板形式会更有效:


template<uint32_t VSLeftRotateElements, uint32_t Select0, uint32_t Select1, uint32_t Select2, uint32_t Select3>
    XMVECTOR XMVectorInsert(FXMVECTOR VD, FXMVECTOR VS)
   

平台要求

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

要求

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

另请参阅

分量向量函数

XMVectorPermute

XMVectorRotateLeft

XMVectorRotateRight

XMVectorShiftLeft