XMDECN4 结构 (directxpackedvector.h)

用于将带符号规范化值的 4D 向量存储为 10 位有符号 x-、y-和 z- 组件,以及 2 位有符号 w-component。

有关在 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

描述向量 x 坐标的范围 [-511, 511] 中的带符号整数值。

y

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

z

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

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 & 运算符= ( 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

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

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

注解

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

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

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

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

平台要求

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

要求

   
标头 directxpackedvector.h

另请参阅

DirectXMath 库结构

XMDECN4 扩展