XMFLOAT3SE 结构 (directxpackedvector.h)
描述三个浮点分量的 3D 向量,这些分量具有 9 位尾数,每个分量共享相同的 5 位指数。
有关使用 C++ 编程时可用的 XMFLOAT3SE
其他功能(例如构造函数和运算符)的列表,请参阅 XMFLOAT3SE 扩展。
语法
struct XMFLOAT3SE {
union {
struct {
uint32_t xm : 9;
uint32_t ym : 9;
uint32_t zm : 9;
uint32_t e : 5;
};
uint32_t v;
};
void XMFLOAT3SE();
void XMFLOAT3SE(
const XMFLOAT3SE & unnamedParam1
);
XMFLOAT3SE & operator=(
const XMFLOAT3SE & unnamedParam1
);
void XMFLOAT3SE(
XMFLOAT3SE && unnamedParam1
);
XMFLOAT3SE & operator=(
XMFLOAT3SE && unnamedParam1
);
void XMFLOAT3SE(
uint32_t Packed
) noexcept;
void XMFLOAT3SE(
float _x,
float _y,
float _z
) noexcept;
void XMFLOAT3SE(
const float *pArray
) noexcept;
void operator uint32_t() noexcept;
XMFLOAT3SE & operator=(
uint32_t Packed
) noexcept;
};
成员
9 xm
9 位 x 分量。
9 ym
9 位 y 分量。
9 zm
9 位 z 分量。
5 e
5 位共享指数。
v
表示 3D 向量的无符号 32 位整数。
的默认构造函数 XMFLOAT3SE
。
XMFLOAT3SE的默认构造函数。
void XMFLOAT3SE ( const XMFLOAT3SE & unnamedParam1)
的 XMFLOAT3SE
构造函数。
XMFLOAT3SE的构造函数。
XMFLOAT3SE & operator=( const XMFLOAT3SE & unnamedParam1)
void XMFLOAT3SE ( XMFLOAT3SE && unnamedParam1)
的 XMFLOAT3SE
构造函数。
XMFLOAT3SE的构造函数。
XMFLOAT3SE & operator=( XMFLOAT3SE && unnamedParam1)
void XMFLOAT3SE ( uint32_t Packed) noexcept
从uint32_t
包含组件数据的变量以打包格式初始化 的新实例XMFLOAT3SE
。
此构造函数从uint32_t
包含已打包格式的组件数据的变量初始化 XMFLOAT3SE 的新实例。
void XMFLOAT3SE ( float _x、float _y、float _z) noexcept
从三float
个参数初始化 的新XMFLOAT3SE
实例。
此构造函数从三float
个参数初始化 XMFLOAT3SE 的新实例。
void XMFLOAT3SE ( const float *pArray) noexcept
从三个元素float
数组参数初始化 XMFLOAT3SE 的新实例。
此构造函数从三个元素浮点数组参数初始化 XMFLOAT3SE 的新实例。
返回 一个 实例 uint32_t
,其中包含打包格式的 XMFLOAT3SE
实例的组件。
此运算符返回一个 实例 uint32_t
,其中包含打包格式 的 XMFLOAT3SE 实例的组件。
XMFLOAT3SE & operator= ( uint32_t Packed) noexcept
此运算符将 打包在 实例 uint32_t
中的矢量分量数据分配给 XMFLOAT3SE 的当前实例。
注解
实例 XMFLOAT3SE
的三个分量的值以以下格式存储在 实例的 v 中:结构的 e 成员 XMFLOAT3SE
-- 所有三个组件的浮点值的 mantissas 共享的 XMFLOAT3SE
指数存储在返回值的最高顺序位中,x 分量存储在最小有效位中。
(E5Z9Y9X9): [31] EEEEEzzz zzzzzzyy yyyyyyyx xxxxxxxx [0]
或详细信息:
- Packed 的 0-8 位是 x 组件的浮点值的 9 位 mantissa:当前结构的 xm 成员。
- Packed 的 9-17 位是 y 组件浮点值的 9 位 mantissa:当前结构的 ym 成员。
- Packed 的 18-26 位是 z 组件浮点值的 9 位 mantissa:当前结构的 zm 成员。
- Packed 的位 27-31 是与存储的 mantissas (xm、ym、zm) 一起使用的 5 位指数,表示每个组件的大小:当前结构的 e 成员。
XMFLOAT3SE
的格式中没有符号位,因此所有组件值都是正数。
XMFLOAT3SE
可以使用 XMLoadFloat3SE 将加载到 XMVECTOR 的实例中。
XMVECTOR
的实例可以使用 XMStoreFloat3SE 存储到 的XMFLOAT3SE
实例中。
命名 空间: 使用 DirectX::P ackedVector
平台要求
Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012 与 Windows SDK for Windows 8。 支持 Win32 桌面应用、Windows 应用商店应用和 Windows Phone 8 应用。要求
标头 | directxpackedvector.h |