XMStoreColor 関数 (directxpackedvector.h)
構文
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 を含む) |