Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

XMStoreShort4 method

Stores an XMVECTOR in an XMSHORT4.


VOID XMStoreShort4(
  [out] XMSHORT4 *pDestination,
  [in]  XMVECTOR V


pDestination [out]

Address at which to store the data.

V [in]

Vector containing the data to store.

Return value



This function takes a vector, clamps it to the range -32767.0f to 32767.0f, converts the components into a signed, normalized integer format, and writes the results out to four short integer values at the given address. The most significant component is written to the first two bytes of the address, the next most significant component is written to the next two bytes of the address, and so on.

The following pseudocode demonstrates the operation of the function.

static const XMVECTOR  Min = {-32767.0f, -32767.0f, -32767.0f, -32767.0f};
static const XMVECTOR  Max = {32767.0f, 32767.0f, 32767.0f, 32767.0f};
XMVECTOR               N;
N = XMVectorClamp(V, Min, Max);
N = XMVectorRound(N);

pDestination->x = (int16_t)N.x; // 2 bytes to address pDestination
pDestination->y = (int16_t)N.y; // 2 bytes to address (uint8_t*)pDestination + 2
pDestination->z = (int16_t)N.z; // 2 bytes to address (uint8_t*)pDestination + 4
pDestination->w = (int16_t)N.w; // 2 bytes to address (uint8_t*)pDestination + 6

Platform Requirements

Microsoft Visual Studio 2010 or Microsoft Visual Studio 2012 with the Windows SDK for Windows 8. Supported for Win32 desktop apps, Windows Store apps, and Windows Phone 8 apps.






See also

DirectXMath Library Vector Store Functions



© 2018 Microsoft