次の方法で共有


XMStoreColor 関数 (directxpackedvector.h)

XMVECTORXMCOLOR に格納します。

構文

void XM_CALLCONV XMStoreColor(
  [out] XMCOLOR   *pDestination,
  [in]  FXMVECTOR V
) noexcept;

パラメーター

[out] pDestination

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

[in] V

格納するデータを含むベクター。 X には赤のカラー チャネルが含まれており、Y には緑、Z は青、W はアルファ チャネルが含まれます。

戻り値

[なし] :

解説

関数はベクターを受け取り、0.0f から 1.0f の範囲にクランプし、コンポーネントを符号なし正規化整数形式に変換し、コンポーネントを 32 ビット整数にパックし、結果を指定されたアドレスに書き込みます。 最も重要なコンポーネントは、整数の 2 番目に重要な 8 ビットに書き込まれます。

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

XMVector N;

N = saturate(V);
N = scale(N, 255.0f);
N = round(N);

pDestination->c = ((uint32_t)N.w << 24) |
                  ((uint32_t)N.x << 16) |
                  ((uint32_t)N.y << 8) |
                  ((uint32_t)N.z);

Direct3D 10.x および Direct3D 11 の場合、これは Float ColorRGBA[4] パラメーターを受け取る関数のコンポーネントの順序と一致します。


 XMVECTOR Yellow = XMVectorSet( 1.0f, 1.0f, 0.0f, 1.0f );

 XMFLOAT4 clrf;
 XMStoreFloat4( &clrf, Yellow );
 pDeviceContext->ClearRenderTargetView( pRTV, (const float*)clrf );

プラットフォームの要件

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

要件

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

関連項目

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