XMStoreFloat3SE 函数 (directxpackedvector.h)

XMVECTOR 存储在 XMFLOAT3SE中。

语法

void XM_CALLCONV XMStoreFloat3SE(
  [out] XMFLOAT3SE *pDestination,
  [in]  FXMVECTOR  V
) noexcept;

参数

[out] pDestination

存储数据的地址。

[in] V

包含要存储的数据的向量。

返回值

无。

备注

以下伪代码演示函数的操作。


  XMVECTOR N;

  static const XMVECTOR  Max = { 65472.f, 65427.f, 65427.f, 0 };
  N = XMVectorClamp(V, XMVectorZero(), Max);

  uint32_t m[3], e[3];
  ConvertToFloat14( N.x, &m[0], &e[0]);
  ConvertToFloat14( N.y, &m[1], &e[1]);
  ConvertToFloat14( N.z, &m[2], &e[2]);

  uint32_t T = XMMax( e[0], XMMax( e[1], e[2] ) );

  pDestination->xm = m[0] >> (T - e[0]);
  PDestination->ym = m[1] >> (T - e[1]);
  pDestination->zm = m[2] >> (T - e[2]);
  pDestination->e = T;

如果这三个分量在数量上不彼此接近,则 () 的最大值将设置指数,其他分量将移动到零。

平台要求

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

要求

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

另请参阅

DirectXMath 库向量存储函数