XMFLOAT3SE 構造体 (directxpackedvector.h)
それぞれ同じ 5 ビット指数を共有する 9 ビット仮数を持つ 3 つの浮動小数点コンポーネントの 3D ベクトルについて説明します。
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
の新しいインスタンス XMFLOAT3SE
を 3 つの float
引数から初期化します。
このコンストラクターは、3 つのfloat
引数から XMFLOAT3SE の新しいインスタンスを初期化します。
void XMFLOAT3SE( const float *pArray) noexcept
3 つの要素float
配列引数から XMFLOAT3SE の新しいインスタンスを初期化します。
このコンストラクターは、3 つの要素 float 配列引数から XMFLOAT3SE の新しいインスタンスを初期化します。
インスタンスの uint32_t
コンポーネントをパック形式で格納している の XMFLOAT3SE
インスタンスを返します。
この演算子は、パック形式でuint32_t
XMFLOAT3SE インスタンスのコンポーネントを含む のインスタンスを返します。
XMFLOAT3SE & operator=( uint32_t Packed) noexcept
この演算子は、 のインスタンス uint32_t
にパックされたベクター コンポーネント データを 、XMFLOAT3SEの現在のインスタンスに割り当てます。
注釈
のインスタンスXMFLOAT3SE
の 3 つのコンポーネントの値は、次の形式でインスタンスの v に格納されます。構造体の XMFLOAT3SE
e メンバー (3 つのコンポーネントXMFLOAT3SE
すべての浮動小数点値の仮数で共有される指数) は、戻り値の最上位ビットに格納され、x コンポーネントの仮数は最下位ビットに格納されます。
(E5Z9Y9X9): [31] EEEEEzzz zzzzzzyy yyyyyyyx xxxxxxxx [0]
または、詳細に次の手順を実行します。
- Packed のビット 0 から 8 は、x コンポーネントの浮動小数点値 (現在の構造体の xm メンバー) の 9 ビット仮数です。
- Packed のビット 9 から 17 は、y コンポーネントの浮動小数点値 (現在の構造体の ym メンバー) の 9 ビット仮数です。
- Packed のビット 18 から 26 は、z コンポーネントの浮動小数点値 (現在の構造体の zm メンバー) の 9 ビット仮数です。
- Packed のビット 27 から 31 は、格納されている仮数 (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 アプリでサポートされます。要件
Header | directxpackedvector.h |