XMStoreShort2 函数 (directxpackedvector.h)

XMVECTOR 存储在 XMSHORT2中。

语法

void XM_CALLCONV XMStoreShort2(
  [out] XMSHORT2  *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

平台要求

Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012 与 Windows SDK for Windows 8。 支持 Win32 桌面应用、Windows 应用商店应用和 Windows Phone 8 应用。

要求

要求
目标平台 Windows
标头 directxpackedvector.h (包括 DirectXPackedVector.h)

另请参阅

DirectXMath 库向量存储函数