XMVectorSelectControl 函数 (directxmath.h)
定义要在 XMVectorSelect 中使用的控制向量。
语法
XMVECTOR XM_CALLCONV XMVectorSelectControl(
[in] uint32_t VectorIndex0,
[in] uint32_t VectorIndex1,
[in] uint32_t VectorIndex2,
[in] uint32_t VectorIndex3
) noexcept;
参数
[in] VectorIndex0
确定将在 XMVectorSelect 中选择哪个向量的索引。 如果为零,则将选择第一个矢量的第一个分量。 否则,将选择第二个向量的分量。
[in] VectorIndex1
确定将在 XMVectorSelect 中选择哪个向量的索引。 如果为零,则将选择第一个矢量的第二个分量。 否则,将选择第二个向量的分量。
[in] VectorIndex2
确定将在 XMVectorSelect 中选择哪个向量的索引。 如果为零,则将选择第一个矢量的第三个分量。 否则,将选择第二个向量的分量。
[in] VectorIndex3
确定将在 XMVectorSelect 中选择哪个向量的索引。 如果为零,则将选择第一个矢量的第四个分量。 否则,将选择第二个向量的分量。
返回值
返回控制向量。
注解
以下伪代码演示函数的操作:
XMVECTOR ControlVector;
const uint32_t ControlElement[] =
{
XM_SELECT_0,
XM_SELECT_1
};
assert(VectorIndex0 < 2);
assert(VectorIndex1 < 2);
assert(VectorIndex2 < 2);
assert(VectorIndex3 < 2);
ControlVector.u[0] = ControlElement[VectorIndex0];
ControlVector.u[1] = ControlElement[VectorIndex1];
ControlVector.u[2] = ControlElement[VectorIndex2];
ControlVector.u[3] = ControlElement[VectorIndex3];
return ControlVector;
平台要求
Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012 以及 Windows SDK for Windows 8。 支持 Win32 桌面应用、Windows 应用商店应用和 Windows Phone 8 应用。示例
使用 XMVectorSelectControl
在此示例中, XMVectorSelectControl 用于生成控件掩码,该掩码将从第一个向量中选择 x 和 w 分量,从第二个矢量中选择 y 和 z 分量。
矢量结果将为 ( 3.0f、5.0f、5.0f、3.0f ) 。
XMVECTOR three = XMVectorReplicate( 3.0f );
XMVECTOR five = XMVectorReplicate( 5.0f );
XMVECTOR control = XMVectorSelectControl( 0, 1, 1, 0 );
XMVECTOR result = XMVectorSelect( three, five, control );
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | directxmath.h (包括 DirectXMath.h) |