次の方法で共有


XMStoreUNibble4 関数 (directxpackedvector.h)

XMVECTORXMUNIBBLE4に格納します。

構文

void XM_CALLCONV XMStoreUNibble4(
  [out] XMUNIBBLE4 *pDestination,
  [in]  FXMVECTOR  V
) noexcept;

パラメーター

[out] pDestination

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

[in] V

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

戻り値

[なし] :

解説

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


  XMVECTOR N;
  static const XMVECTOR  Max = {15.f, 15.f, 15.f, 15.f };

  N = XMVectorClamp(V, XMVectorZero, Max);
  N = XMVectorRound(N);

  pDestination->x = (int8_t)N.v[0];
  pDestination->y = (int8_t)N.v[1];
  pDestination->z = (int8_t)N.v[2];
  pDestination->w = (int8_t)N.v[3];


これらは正規化された値ではないことに注意してください。 RGBA 4/4/4/4 形式に変換するには、入力ベクトルを で (15.f, 15.f, 15.f, 15.f)スケーリングする必要があります。 また、GPU 形式は BGR (RGB ではなく) であるため、標準の .x = RED、.y = GREEN、.z = BLUE、.w = ALPHA カラー ベクターの .x および .z 値をスウィズルする必要があります。

プラットフォームの要件

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

要件

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

こちらもご覧ください

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