XMLoadDecN4 function (directxpackedvector.h)
Loads an XMDECN4 into an XMVECTOR.
Syntax
XMVECTOR XM_DEPRECATED XM_CALLCONV XMLoadDecN4(
[in] const XMDECN4 *pSource
) noexcept;
Parameters
[in] pSource
Address of the XMDECN4 structure to load.
Return value
Returns an XMVECTOR loaded with the data from the pSource parameter.
Remarks
The following pseudocode demonstrates the operation of the function.
XMVECTOR vectorOut;
uint32_t Element;
static const uint32_t SignExtend[] = {0x00000000, 0xFFFFFC00};
static const uint32_t SignExtendW[] = {0x00000000, 0xFFFFFFFC};
Element = pSource->v & 0x3FF;
vectorOut.x = (float)(int16_t)(Element | SignExtend[Element >> 9]) / 511.0f;
Element = (pSource->v >> 10) & 0x3FF;
vectorOut.y = (float)(int16_t)(Element | SignExtend[Element >> 9]) / 511.0f;
Element = (pSource->v >> 20) & 0x3FF;
vectorOut.z = (float)(int16_t)(Element | SignExtend[Element >> 9]) / 511.0f;
Element = pSource->v >> 30;
vectorOut.w = (float)(int16_t)(Element | SignExtendW[Element >> 1]);
return vectorOut;
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.Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | directxpackedvector.h (include DirectXMath.h) |