Stores an XMVECTOR in an XMU555.
void XMStoreU555(
XMU555 *pDestination,
XMVECTOR V
)
pDestination
Type: XMU555 *
[out]
Address at which to store the data.
V
Type: XMVECTOR
[in]
Vector containing the data to store.
The following pseudocode demonstrates the operation of the function.
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];
Note these are not normalized values. To convert to the RGBA 5/5/5/1 format, you must scale the input vector by (31.f, 31.f, 31.f, 1.f). Also, you will probably need to swizzle the standard .x = RED, .y = GREEN, .z = BLUE, .w = ALPHA color vector’s .x and .z value since the GPU format is BGR (not RGB).
Header: Declared in directxpackedvector.h.