XMVectorPermute テンプレート

2 つのベクトルのコンポーネントを順列して、新しいベクターを作成します。

構文

template<uint32_t PermuteX, uint32_t PermuteY, uint32_t PermuteZ, uint32_t PermuteW> XMVECTOR XMVectorPermute(
  [in]  XMVECTOR V1,
  [in]  XMVECTOR V2
);

パラメーター

V1

[入力]最初のベクトル。

V2

[入力]2 番目のベクター。

戻り値

ソース ベクトルの組み合わせによって生じた順列ベクトルを返します。

注釈

すべての 4 つのインデックスが 1 つのベクトルのみを参照する場合 (つまり、すべて 0 から 3 の範囲、または 4 から 7 の範囲のすべて) の場合は、パフォーマンスを向上させるには、代わりに XMVectorSwizzle を使用します。

ライブラリでは、一部のプラットフォームでテンプレートの特殊化を使用してパフォーマンスを向上させる点に注意してください。 このような特殊なケースに対して可能なすべてのミラーケースが実装されているわけではありません。そのため、結果のベクターの X 要素が V2 パラメーターではなく V1 パラメーターから取得される順列を使用することをお勧めします。 たとえば、 を 使用 XMVectorPermute<0,1,4,5>(A,B); することをお XMVectorPermute(4,5,0,1)(B,A);好みです。

この関数は、Permute* 引数がテンプレート値である XMVectorPermute のテンプレート バージョンです。

permuteXPermuteY、PermuteZ、PermuteW入力値として使用するために、XM_PERMUTE_定数用意されています。

注意

この XMVectorPermute テンプレートは DirectXMath 用の新しいテンプレートであり、XNAMath 2.x では使用できません。

 

名前空間: DirectX を使用する

プラットフォームの要件

Microsoft Visual Studio 2010 または Microsoft Visual Studio 2012 と Windows SDK for Windows 8。 Win32 デスクトップ アプリ、Windows ストア アプリ、Windows Phone 8 アプリでサポートされます。

要件

要件
ヘッダー
DirectXMath.h

こちらもご覧ください

DirectXMath ライブラリ テンプレート関数

XMVectorSwizzle