XMStoreShort4

XMSHORT4XMVECTOR を格納します。

構文

VOID XMStoreShort4(         XMSHORT4 *pDestination,         XMVECTOR V)

パラメーター

  • pDestination
    [out] データを格納するアドレス
  • V
    [in] 格納するデータが含まれるベクトル

戻り値

なし。

解説 

この関数はベクトルを受け取り、−32767.0f ~ 32767.0f の範囲にクランプした後、要素を正規化された符号付き整数形式に変換し、指定されたアドレスの 4 つの短整数値に結果を書き込みます。最上位の要素はアドレスの最初の 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 = (SHORT)N.x; // 2 bytes to address pDestinationpDestination->y = (SHORT)N.y; // 2 bytes to address (BYTE*)pDestination + 2pDestination->z = (SHORT)N.z; // 2 bytes to address (BYTE*)pDestination + 4pDestination->w = (SHORT)N.w; // 2 bytes to address (BYTE*)pDestination + 6

要件

ヘッダー: xnamath.h で宣言されています。