XMDECN4 结构 (directxpackedvector.h)

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

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

注意有关等效D3DDECLTYPE、D3DFORMATDXGI_FORMAT对象的信息,请参阅 DirectXMath 库类型等效
 

语法

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

成员

x

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

y

[-511, 511] 范围内描述向量的 y 坐标的有符号整数值。

z

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

w

描述矢量 w 坐标的范围 [-1, 1] 中的有符号整数值。

v

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

void XMDECN4 ()

的默认构造函数 XMDECN4

XMDECN4 的默认构造函数。

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

void XMDECN4 ( const XMDECN4 & unnamedParam1)

XMDECN4构造函数。

XMDECN4的构造函数。

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

XMDECN4 & operator=( const XMDECN4 & unnamedParam1)

void XMDECN4 ( XMDECN4 && unnamedParam1)

XMDECN4构造函数。

XMDECN4的构造函数。

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

XMDECN4 & operator= ( XMDECN4 && unnamedParam1)

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

此运算符将 XMDECN4 的一个实例中的向量组件数据分配给 XMDECN4的当前实例。

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

void XMDECN4 ( uint32_t Packed) noexcept

uint32_t包含组件数据的变量以打包格式初始化 的新实例XMDECN4

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

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

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

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

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

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

void XMDECN4 ( const float *pArray) noexcept

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

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

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

void 运算符 uint32_t () noexcept

返回 一个 实例 uint32_t ,其中包含打包格式的 XMDECN4 实例的组件。

返回 一个 实例 uint32_t ,其中包含打包格式的 XMDECN4 实例的组件。

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

XMDECN4 & 运算符= ( uint32_t Packed) noexcept

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

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

注解

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

XMDECN4可以使用 XMLoadDecN4 从规范化值加载 XMVECTOR 的实例,该函数将 x、y 和 z 分量除以 511.0f,对结果进行舍入,然后将组件分配给实例XMVECTOR

XMVECTOR包含规范化值的实例可以使用 XMStoreDecN4XMDECN4 x、y-和 z 分量相乘 511.0f(将结果舍入),然后将值分配给相应的XMDECN4成员。

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

平台要求

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

要求

要求
Header directxpackedvector.h

另请参阅

DirectXMath 库结构

XMDECN4扩展