次の方法で共有


XMVectorInsert 関数 (directxmath.h)

指定した数の 32 ビット コンポーネントによって残されたベクターを回転し、その結果の選択された要素を別のベクターに挿入します。

構文

XMVECTOR XM_CALLCONV XMVectorInsert(
  [in] FXMVECTOR VD,
  [in] FXMVECTOR VS,
  [in] uint32_t  VSLeftRotateElements,
  [in] uint32_t  Select0,
  [in] uint32_t  Select1,
  [in] uint32_t  Select2,
  [in] uint32_t  Select3
) noexcept;

パラメーター

[in] VD

挿入先のベクター。

[in] VS

左に回転するベクター。

[in] VSLeftRotateElements

VS を左に回転させる 32 ビット コンポーネントの数。

[in] Select0

0 または 1 です。 1 つの場合、回転ベクトルの x 成分が VD の対応するコンポーネントに挿入されます。 それ以外の場合、 VD の x 成分はそのまま残ります。

[in] Select1

0 または 1 です。 1 つの場合、回転ベクトルの y 成分が VD の対応するコンポーネントに挿入されます。 それ以外の場合、 VD の y 成分は単独で残されます。

[in] Select2

0 または 1 です。 一方の場合、回転ベクトルのz成分が VDの対応する成分に挿入されます。 それ以外の場合、 VD の z 成分は単独のままです。

[in] Select3

0 または 1 です。 1 つの場合、回転ベクトルの w 成分が VD の対応するコンポーネントに挿入されます。 それ以外の場合、 VD の w 成分は単独のままです。

戻り値

回転と挿入の結果として得た XMVECTOR を返します。

注釈

最適なパフォーマンスを得るには、 XMVectorInsert の結果を VD に割り当て直す必要があります。

定数uint32_tパラメーターを持つ場合は、 XMVectorInsert のテンプレート形式を使用する方が効率的です。


template<uint32_t VSLeftRotateElements, uint32_t Select0, uint32_t Select1, uint32_t Select2, uint32_t Select3>
    XMVECTOR XMVectorInsert(FXMVECTOR VD, FXMVECTOR VS)
   

プラットフォームの要件

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

要件

要件
対象プラットフォーム Windows
ヘッダー directxmath.h (DirectXMath.h を含む)

こちらもご覧ください

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

XMVectorPermute

XMVectorRotateLeft

XMVectorRotateRight

XMVectorShiftLeft