Stores an XMVECTOR in an XMU565.
void XMStoreU565(
XMU565 *pDestination,
XMVECTOR V
)
pDestination
Type: XMU565 *
[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, 63.f, 31.f, 0.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];
Note these are not normalized values. To convert to the RGB 5/6/5 format, you must scale the input vector by (31.f, 63.f, 31.f, 1.f). Also, you will probably need to swizzle the standard .x = RED, .y = GREEN, .z = BLUE color vector’s .x and .z value since the GPU format is BGR (not RGB).
Header: Declared in directxpackedvector.h.