XMStoreShort4 函数 (directxpackedvector.h)
语法
void XM_CALLCONV XMStoreShort4(
[out] XMSHORT4 *pDestination,
[in] FXMVECTOR V
) noexcept;
参数
[out] pDestination
存储数据的地址。
[in] V
包含要存储的数据的向量。
返回值
无。
备注
此函数采用向量,将其固定到 -32767.0f 到 32767.0f 的范围内,将分量转换为有符号的规范化整数格式,并将结果写入给定地址处的四个短整数值。 最重要的组件将写入地址的前两个字节,将下一个最重要的组件写入地址的后两个字节,依此类比。
以下伪代码演示函数的操作。
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
平台要求
具有 Windows SDK for Windows 8 的 Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012。 支持 Win32 桌面应用、Windows 应用商店应用和 Windows Phone 8 应用。要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | directxpackedvector.h (包括 DirectXPackedVector.h) |