XMXDECN4::XMXDECN4(constfloat*) 関数 (directxpackedvector.h)
4 つの要素float
配列引数から XMXDECN4 の新しいインスタンスを初期化します。
このコンストラクターは、4 つの要素float
配列引数から XMXDECN4 の新しいインスタンスを初期化します。
メモ このコンストラクターは、C++ でのみ使用できます。
構文
void XMXDECN4(
const float *pArray
) noexcept;
パラメーター
pArray
XMXDECN4の新しいインスタンスの 4 つのコンポーネントを初期化するために使用される値を含む 4 つの要素浮動小数点配列。
戻り値
なし
解説
配列要素は、次のように、 XMXDECN4 の新しいインスタンスのベクター コンポーネントにマップされます。
ベクター コンポーネント | Array 要素 | Range | 説明 |
---|---|---|---|
x | pArray[0] | -0.0, 1.0 | インスタンス化中、pArray[0] は -1 から 1 の間でクランプされ、511.0f を乗算して x に割り当てられます。 |
○ | pArray[1] | -0.0, 1.0 | インスタンス化中、pArray[1] は -1 から 1 の間でクランプされ、511.0f で乗算され、y に割り当てられます。 |
z | pArray[2] | -0.0, 1.0 | インスタンス化中、pArray[2] は -1 から 1 の間でクランプされ、511.0f で乗算され、z に割り当てられます。 |
。 | pArray[3] | 0.0, 1.0 | インスタンス化中、pArray[3] は 0 から 1 の間でクランプされ、w に割り当てられます。 この引数は 0.0 から 1.0 の間にする必要があります。 XMXDECN4のインスタンスのインスタンス化中に、 は 3.0f で乗算され、構造体の w メンバーとして格納されます。 |
XMXDECN4 instance;
_x1=min( max( pArray[0], -1.0 ), 1.0 );
_y1=min( max( pArray[1], -1.0 ), 1.0 );
_z1=min( max( pArray[2], -1.0 ), 1.0 );
_w1=min( max( pArray[3], 0.0 ), 1.0 );
_x1 = round( _x1 * 511.0f);
_y1 = round( _y1 * 511.0f);
_z1 = round( _z1 * 511.0f);
_w1 = round( _w1 * 3.0f);
instance.v = ( (uint32_t)_w1 << 30) |
(((uint32_t)_z1 & 0x3FF) << 20) |
(((uint32_t)_y1 & 0x3FF) << 10) |
(((uint32_t)_x1 & 0x3FF));
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | directxpackedvector.h |
関連項目
参照