XMXDECN4 结构 (directxpackedvector.h)

一个 4D 矢量,用于将有符号的规范化值存储为 10 位有符号 x-、y 和 z 分量,并将无符号规范化值存储为 2 位无符号 w 分量。

有关使用 C++ 编程时可用的 XMXDECN4 其他功能(例如构造函数和运算符)的列表,请参阅 XMXDECN4扩展

注意有关等效D3DDECLTYPED3DFORMAT和DXGI_FORMAT对象的信息,请参阅 DirectXMath 库类型等效项。
 

语法

struct XMXDECN4 {
  union {
    struct {
      int32_t  x : 10;
      int32_t  y : 10;
      int32_t  z : 10;
      uint32_t w : 2;
    };
             uint32_t v;
  };
  void       XMXDECN4();
  void       XMXDECN4(
    const XMXDECN4 & unnamedParam1
  );
  XMXDECN4 & operator=(
    const XMXDECN4 & unnamedParam1
  );
  void       XMXDECN4(
    XMXDECN4 && unnamedParam1
  );
  XMXDECN4 & operator=(
    XMXDECN4 && unnamedParam1
  );
  void       XMXDECN4(
    uint32_t Packed
  );
  void       XMXDECN4(
    float _x,
    float _y,
    float _z,
    float _w
  ) noexcept;
  void       XMXDECN4(
    const float *pArray
  ) noexcept;
  void       operator uint32_t() noexcept;
  XMXDECN4 & operator=(
    uint32_t Packed
  ) noexcept;
};

成员

x

[-511, 511] 范围内的带符号整数值,用于描述矢量的 x 坐标。

y

[-511, 511] 范围中的带符号整数值,用于描述矢量的 y 坐标。

z

[-511, 511] 范围内的带符号整数值,用于描述矢量的 z 坐标。

w

描述矢量 w 坐标的范围 [0, 3] 中的无符号整数值。

v

表示 4D 向量的无符号 32 位整数。

void XMXDECN4 ()

的默认构造函数 XMXDECN4

XMXDECN4 的默认构造函数。

注意 此构造函数仅在 C++ 下可用。
 

void XMXDECN4 ( const XMXDECN4 & unnamedParam1)

XMXDECN4 的构造函数。

XMXDECN4的构造函数。

注意 此构造函数仅在 C++ 下可用。

XMXDECN4 & operator=( const XMXDECN4 & unnamedParam1)

void XMXDECN4 ( XMXDECN4 && unnamedParam1)

XMXDECN4 的构造函数。

XMXDECN4的构造函数。

注意 此构造函数仅在 C++ 下可用。

XMXDECN4 & operator= ( XMXDECN4 && unnamedParam1)

将 的一个实例中的 XMXDECN4 向量组件数据分配给 的 XMXDECN4当前实例。

注意 此运算符仅在 C++ 下可用。

void XMXDECN4 ( uint32_t Packed)

uint32_t包含采用打包格式的XMXDECN4组件数据的变量初始化 的新实例。

此构造函数从uint32_t包含采用打包格式的组件数据的变量初始化 XMXDECN4 的新实例。

注意 此构造函数仅在 C++ 下可用。
 

void XMXDECN4 ( float _x、float _y、float _z、float _w) noexcept

从四个规范化float参数初始化 的新XMXDECN4实例。

此构造函数从四个规范化float参数初始化 XMXDECN4 的新实例。

注意 此构造函数仅在 C++ 下可用。
 

void XMXDECN4 ( const float *pArray) noexcept

从四个元素float数组参数初始化 XMXDECN4 的新实例。

此构造函数从四个元素float数组参数初始化 XMXDECN4 的新实例。

注意 此构造函数仅在 C++ 下可用。

void operator uint32_t () noexcept

返回 的实例,该实例 uint32_t 包含打包格式的 XMXDECN4 实例的组件。

uint32_t 打包格式返回 包含 XMXDECN4 实例的组件的 实例。

注意 此运算符仅在 C++ 下可用。
 

XMXDECN4 & operator= ( uint32_t Packed) noexcept

将 打包在 实例 uint32_t 中的矢量组件数据分配给 的 XMXDECN4当前实例。

此运算符将 打包在 实例 uint32_t 中的矢量分量数据分配给 XMXDECN4的当前实例。

注意 此运算符仅在 C++ 下可用。
 

注解

那些 XMXDECN4 使用浮点参数的构造函数需要规范化输入,对于 x、y-、z 分量,该输入必须在 [-1.0.-1.0] 范围内,对于 w-分量,必须在 0.0 范围内。 在实例化期间,指定 x、y 和 z 分值的输入将乘以 511.0f,将 w 分量乘以 3.0f,这些结果将舍入,然后分配给 的 XMXDECN4相应成员。

XMXDECN4 可以使用 XMLoadXDecN4 从规范化值加载 XMVECTOR 的实例, XMLoadXDecN4 将 x、y-和 z 分量除以 511.0f,w 分量除以 3.0f,将结果舍入,然后将组件分配给实例 XMVECTOR

XMVECTOR包含规范化值的实例可以使用 XMStoreXDecN4 存储到 中XMXDECN4,该函数将 x、y 和 z 分量乘以 511.0f,将 w 分量乘以 3.0f,将结果舍入,然后将值分配给相应的XMXDECN4成员。

命名 空间: 使用 DirectX::P ackedVector

平台要求

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

要求

   
标头 directxpackedvector.h

另请参阅

DirectXMath 库结构

XMXDECN4 扩展