XMStoreUNibble4 関数 (directxpackedvector.h)
XMVECTOR をXMUNIBBLE4に格納します。
構文
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 を含む) |