XMVectorPermute 関数 (directxmath.h)
2 つのベクトルのコンポーネントを順列して、新しいベクターを作成します。
構文
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
2 番目のベクター。
PermuteX
新しいベクトルの X 成分のコピー元を示すインデックス形式 0 から 7。
PermuteY
新しいベクトルの Y 成分のコピー元を示すインデックス形式 0 から 7。
PermuteZ
新しいベクトルの Z 成分のコピー元を示すインデックス形式 0 から 7。
PermuteW
新しいベクトルの W 成分のコピー元を示すインデックス形式 0 から 7。
戻り値
ソース ベクトルの組み合わせによって生じた順列ベクトルを返します。
注釈
すべての 4 つのインデックスが 1 つのベクトルのみを参照する場合 (つまり、すべて 0 から 3 の範囲、または 4 から 7 の範囲内にある)、パフォーマンスを向上させるには、代わりに XMVectorSwizzle を使用します。
PermuteX、PermuteY、PermuteZ、PermuteW の入力値として使用するために、XM_PERMUTE_定数が用意されています。
定数 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 );
メモ このバージョンの
XMVectorPermute
は DirectXMath の新しいバージョンです。 XNAMath v2.x ライブラリでは、 に対して 4 つのインデックスXMVectorPermute
ではなく、 コントロールXMVECTOR
を使用XMVectorPermuteControl
し、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 を含む) |