次の方法で共有


XMStoreU555 関数 (directxpackedvector.h)

XMU555XMVECTOR を格納します。

構文

void XM_CALLCONV XMStoreU555(
  [out] XMU555    *pDestination,
  [in]  FXMVECTOR V
) noexcept;

パラメーター

[out] pDestination

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

[in] V

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

戻り値

[なし] :

解説

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


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

  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 5/5/5/1 形式に変換するには、入力ベクターを で (31.f, 31.f, 31.f, 1.f)スケーリングする必要があります。 また、GPU 形式は BGR (RGB ではなく) であるため、標準の .x = RED、.y = GREEN、.z = BLUE、.w = ALPHA カラー ベクターの .x、.z 値をスウィズルする必要があります。

プラットフォームの要件

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

要件

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

関連項目

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