次の方法で共有


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、PermuteZPermuteW の入力値として使用するために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 を含む)

こちらもご覧ください

コンポーネントごとのベクトル関数

XMVectorSwizzle