このコンストラクターは、正規化された 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 座標の正規化された値。新しい インスタンスの XMUDECN4z。
この引数は 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 |
関連項目
参照