次の方法で共有


XMStoreShort2 関数 (directxpackedvector.h)

XMVECTORXMSHORT2に格納します。

構文

void XM_CALLCONV XMStoreShort2(
  [out] XMSHORT2  *pDestination,
  [in]  FXMVECTOR V
) noexcept;

パラメーター

[out] pDestination

データを格納するアドレス。

[in] V

格納するデータを含むベクター。

戻り値

[なし] :

解説

この関数はベクトルを受け取り、それを -32767.0f から 32767.0f の範囲にクランプし、2 つの最も重要なコンポーネントを符号付き正規化された整数形式に変換し、結果を指定されたアドレスの 2 つの短い整数値に書き込みます。 最上位コンポーネントはアドレスの最初の 2 バイトに書き込まれ、次の最上位コンポーネントはアドレスの次の 2 バイトに書き込まれます。

次の擬似コードは、 関数の操作を示しています。

static const XMVECTOR  Min = {-32767.0f, -32767.0f, -32767.0f, -32767.0f};
static const XMVECTOR  Max = {32767.0f, 32767.0f, 32767.0f, 32767.0f};
XMVECTOR               N;
N = XMVectorClamp(V, Min, Max);
N = XMVectorRound(N);

pDestination->x = (int16_t)N.x; // 2 bytes to address pDestination
pDestination->y = (int16_t)N.y; // 2 bytes to address (uint8_t*)pDestination + 2

プラットフォームの要件

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

要件

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

こちらもご覧ください

DirectXMath ライブラリ ベクター ストア関数