XMUDEC4::XMUDEC4(constfloat*) 関数 (directxpackedvector.h)
4 つの要素float
配列引数から XMUDEC4 の新しいインスタンスを初期化します。
このコンストラクターは、4 つの要素float
配列引数から XMUDEC4 の新しいインスタンスを初期化します。
メモ このコンストラクターは、C++ でのみ使用できます。
構文
void XMUDEC4(
const float *pArray
) noexcept;
パラメーター
pArray
XMUDEC4の新しいインスタンスの 4 つのコンポーネントを初期化するために使用される値を含む 4 つの要素浮動小数点配列。
戻り値
なし
解説
XMUDEC4は 4 つのコンポーネント整数ベクトルを表すので、pArray の要素の小数部は切り捨てられます。
配列要素は、次のように 、XMUDEC4 の新しいインスタンスのベクター コンポーネントにマップされます。
XMUDEC4 メンバー | Array 要素 | Range |
---|---|---|
x | pArray[0] | -0.0, 1023.0 |
○ | pArray[1] | -0.0, 1023.0 |
z | pArray[2] | -0.0, 1023.0 |
。 | pArray[3] | 0, 3 |
pArray の要素は、XMUDEC4の適切なメンバーに割り当てられる前に、許可された範囲にクランプされます。
次の擬似コードは、このコンストラクターの操作を示しています。このコンストラクターは、 XMUDEC4 ベクターの 4 つのコンポーネントと、 構造体の定義内の uint32_t のインスタンスとの和集合を利用しています。
XMUDEC4 instance;
_x1=min( max( pArray[0], 0.0 ), 1023.0 );
_y1=min( max( pArray[1], 0.0 ), 1023.0 );
_z1=min( max( pArray[2], 0.0 ), 1023.0 );
_w1=min( max( pArray[3], 0.0 ), 3.0 );
instance.v = ( (uint32_t)_w1 << 30) |
(((uint32_t)_z1 & 0x3FF) << 20) |
(((uint32_t)_y1 & 0x3FF) << 10) |
(((uint32_t)_x1 & 0x3FF));
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | directxpackedvector.h |