XMUDECN4::XMUDECN4(float,float,float,float) 関数 (directxpackedvector.h)
このコンストラクターは、正規化された float
4 つの引数から XMUDECN4 の新しいインスタンスを初期化します。
構文
void XMUDECN4(
float _x,
float _y,
float _z,
float _w
) noexcept;
パラメーター
_x
ベクターの x 座標の正規化された値。
この引数は 0.0 から 1.0 の間にする必要があります。のインスタンス XMUDECN4
のインスタンス化中に が乗算 1023.0f
され、構造体の x メンバーとして格納されます。
_y
ベクターの y 座標の正規化された値。の新しいインスタンスXMUDECN4
の y。
この引数は 0.0 から 1.0 の間にする必要があります。のインスタンス XMUDECN4
のインスタンス化中に、 が乗算 1023.0f
され、構造体の y メンバーとして格納されます。
_z
ベクターの z 座標の正規化された値。新しい インスタンスの XMUDECN4
z。
この引数は 0.0 から 1.0 の間にする必要があります。のインスタンス XMUDECN4
のインスタンス化中に、 が乗算 1023.0f
され、構造体の z メンバーとして格納されます。
_w
ベクトルの w 座標の正規化された値。の新しいインスタンスXMUDECN4
の 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, 0.0 ), 1.0 );
_y1=min( max( _y, 0.0 ), 1.0 );
_z1=min( max( _z, 0.0 ), 1.0 );
_w1=min( max( _w, 0.0 ), 1.0 );
_x = round( _x * 1023.0f);
_y = round( _y * 1023.0f);
_z = round( _z * 1023.0f);
_w = round( _w * 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 |
関連項目
参照