XMUDECN4::XMUDECN4 (float,float,float,float) 函式 (directxpackedvector.h)
此建構函式會從四個標準化 float
引數初始化XMUDECN4的新實例。
注意 此建構函式只能在 C++ 下使用。
語法
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
向量的四個元件 XMDECN4
,以及 結構定義中的 實例 uint32_t
:
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 |
另請參閱
參考