XMFLOAT3SE 結構 (directxpackedvector.h)
描述三個浮點數位件的 3D 向量,每個元件都共用相同的 5 位指數。
如需在 C++ 中程式設計時可用的 XMFLOAT3SE
建構函式和運算子等其他功能清單,請參閱 XMFLOAT3SE Extensions。
語法
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
從變數初始化 的新實例 XMFLOAT3SE
, uint32_t
其中包含封裝格式的元件數據。
這個建構函式會從uint32_t
包含封裝格式之元件數據的變數,初始化 XMFLOAT3SE 的新實例。
void XMFLOAT3SE ( float _x、float _y、float _z) noexcept
從三float
個自變數初始化 的新實例XMFLOAT3SE
。
這個建構函式會從三float
個自變數初始化 XMFLOAT3SE 的新實例。
void XMFLOAT3SE ( const float *pArray) noexcept
從三float
個項目數位自變數初始化 XMFLOAT3SE 的新實例。
這個建構函式會從三個元素 float 陣列自變數初始化 的新實例 XMFLOAT3SE 。
傳回的實例 uint32_t
,其中包含封裝格式之 XMFLOAT3SE
實例的元件。
這個運算符會傳回的實例 uint32_t
,其中包含封裝格式之 XMFLOAT3SE 實例的元件。
XMFLOAT3SE & operator= ( uint32_t Packed) noexcept
這個運算子會將 封裝在 實例 uint32_t
中的向量元件數據指派給目前的 XMFLOAT3SE 實例。
備註
實例 XMFLOAT3SE
的三個元件值會以下列格式儲存在 實例的 v 中:結構的 e 成員 XMFLOAT3SE
-- 所有三個元件的 XMFLOAT3SE
浮點數所共用的指數會以傳回值的最高順序位儲存,以及儲存在最小有效位的 x 元件中。
(E5Z9Y9X9): [31] EEEEEzzz zzzzzzyy yyyyyyyx xxxxxxxx [0]
或詳細資料:
- Packed 的位 0-8 是 x 元件浮點值的 9 位 mantissa:目前結構的 xm 成員。
- Packed 的位 9-17 是 y 元件浮點值的 9 位多位:目前結構的 ym 成員。
- Packed 的位 18-26 是 z 元件浮點值的 9 位多位:目前結構的 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 |