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 で選択するベクターを決定するインデックス。 0 の場合、最初のベクトルの最初のコンポーネントが選択されます。 それ以外の場合は、2 番目のベクターのコンポーネントが選択されます。
[in] VectorIndex1
XMVectorSelect で選択するベクターを決定するインデックス。 0 の場合、最初のベクトルの 2 番目のコンポーネントが選択されます。 それ以外の場合は、2 番目のベクターのコンポーネントが選択されます。
[in] VectorIndex2
XMVectorSelect で選択するベクターを決定するインデックス。 0 の場合、最初のベクトルの 3 番目のコンポーネントが選択されます。 それ以外の場合は、2 番目のベクターのコンポーネントが選択されます。
[in] VectorIndex3
XMVectorSelect で選択するベクターを決定するインデックス。 0 の場合、最初のベクトルの 4 番目のコンポーネントが選択されます。 それ以外の場合は、2 番目のベクターのコンポーネントが選択されます。
戻り値
コントロール ベクターを返します。
注釈
次の擬似コードは、 関数の操作を示しています。
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 コンポーネントを選択し、2 番目のベクトルから 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 を含む) |