XMStoreUDecN4_XR 函数 (directxpackedvector.h)

将扩展范围 XMUDECN4 存储到 XMVECTOR 中。 此类型使用扩展范围 (XR) 存储 10:10:10:10:2 规范化的 GPU 格式,并将颜色偏差设置为匹配DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM。

语法

void XM_CALLCONV XMStoreUDecN4_XR(
  [out] XMUDECN4  *pDestination,
  [in]  FXMVECTOR V
) noexcept;

参数

[out] pDestination

存储数据的地址。

[in] V

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

返回值

无。

备注

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

XMVECTOR N; 
static const XMVECTOR Scale = {510.0f, 510.0f, 510.0f, 3.0f};
static const XMVECTOR Bias = { 384.0f, 384.0f, 384.0f, 0.0f };
static const XMVECTOR C = { 1023.f, 1023.f, 1023.f, 3.f };

assert(pDestination);

N = XMVectorMultiplyAdd( V, Scale, Bias );
N = XMVectorClamp( V, XMVectorZero(), C );

pDestination->v = ((uint32_t)N.v[3] << 30) |
(((uint32_t)N.v[2] & 0x3FF) << 20) |
(((uint32_t)N.v[1] & 0x3FF) << 10) |
(((uint32_t)N.v[0] & 0x3FF));

有关带偏差转换的扩展范围 (XR) 的详细信息,请参阅 XR_BIAS颜色通道转换规则

平台要求

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

要求

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

请参阅

DirectXMath 库矢量存储函数

XMLoadUDecN4_XR