次の方法で共有


XMXDEC4::XMXDEC4(constfloat*) 関数 (directxpackedvector.h)

4 つの要素float配列引数から XMXDEC4 の新しいインスタンスを初期化します。

このコンストラクターは、4 つの要素float配列引数から XMXDEC4 の新しいインスタンスを初期化します。

メモ このコンストラクターは、C++ でのみ使用できます。

構文

void XMXDEC4(
  const float *pArray
) noexcept;

パラメーター

pArray

XMXDEC4 の新しいインスタンスの 4 つのコンポーネントを初期化するために使用される値を含む 4 つの要素浮動小数点配列。

戻り値

なし

解説

XMXDEC4 は 4 つのコンポーネント整数ベクトルを表すので、 pArray の要素の小数部は切り捨てられます。

配列要素は、次のように XMXDEC4 の新しいインスタンスのベクター コンポーネントにマップされます。

XMXDEC4 メンバー Array 要素 Range
x pArray[0] -511, 511
pArray[1] -511, 511
z pArray[2] -511, 511
pArray[3] 0, 3

pArray の要素は、XMXDEC4 の適切なメンバーに割り当てられる前に、許可された範囲にクランプされます。

次の擬似コードは、 XMXDEC4 ベクターの 4 つのコンポーネントと 構造体の定義内の uint32_t のインスタンスの和集合を利用する、このコンストラクターの操作を示しています。

XMXDEC4 instance;
_x1=min( max( pArray[0], -511.0 ), 511.0 );
_y1=min( max( pArray[1], -511.0 ), 511.0 );
_z1=min( max( pArray[2], -511.0 ), 511.0 );
_w1=min( max( pArray[3], 0.0 ), 3.0 );

instance.v =  ( (int32_t)_w1 << 30) |
              (((int32_t)_z1 & 0x3FF) << 20) |
              (((int32_t)_y1 & 0x3FF) << 10) |
              (((uint32_t)_x1 & 0x3FF));

要件

   
対象プラットフォーム Windows
ヘッダー directxpackedvector.h

関連項目

XMXDEC4

XMXDEC4 コンストラクター