XMXDECN4::XMXDECN4(float,float,float,float) 関数 (directxpackedvector.h)
4 つの正規化されたfloat
引数から のXMXDECN4
新しいインスタンスを初期化します。
このコンストラクターは、正規化された float
4 つの引数から XMXDECN4 の新しいインスタンスを初期化します。
構文
void XMXDECN4(
float _x,
float _y,
float _z,
float _w
) noexcept;
パラメーター
_x
ベクターの x 座標の正規化された値。
この引数は -1.0 から 1.0 の間にする必要があります。のインスタンス XMXDECN4
のインスタンス化中に が乗算 511.0f
され、構造体の x メンバーとして格納されます。
_y
ベクターの y 座標の正規化された値。の新しいインスタンスXMXDECN4
の y。
この引数は -1.0 から 1.0 の間にする必要があります。のインスタンス XMXDECN4
のインスタンス化中に、 が乗算 511.0f
され、構造体の y メンバーとして格納されます。
_z
ベクターの z 座標の正規化された値。新しい インスタンスの XMXDECN4
z。
この引数は -1.0 から 1.0 の間にする必要があります。のインスタンス XMXDECN4
のインスタンス化中に、 が乗算 511.0f
され、構造体の z メンバーとして格納されます。
_w
ベクトルの w 座標の正規化された値。の新しいインスタンスXMXDECN4
の w。
この引数は -1.0 から 1.0 の間にする必要があります。 XMCOLOR のインスタンスのインスタンス化中に、 が乗算 3.0f
され、構造体の w メンバーとして格納されます。
戻り値
なし
解説
すべての入力値、_x、_y、 _z、 および_w は、-1.0 ~ 1.0 の範囲にクランプされます。
次の擬似コードは、このコンストラクターの操作を示しています。このコンストラクターは、 構造体のunion
定義で のインスタンスuint32_t
を持つベクターの XMDECN4
4 つのコンポーネントの を利用しています。
XMDECN4 instance;
_x1=min( max( _x, -1.0 ), 1.0 );
_y1=min( max( _y, -1.0 ), 1.0 );
_z1=min( max( _z, -1.0 ), 1.0 );
_w1=min( max( _w, 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 = ( (int32_t)_w1 << 30) |
(((int32_t)_z1 & 0x3FF) << 20) |
(((int32_t)_y1 & 0x3FF) << 10) |
(((uint32_t)_x1 & 0x3FF));
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | directxpackedvector.h |
関連項目
参照