XMCOLOR::XMCOLOR (constfloat*) 函式 (directxpackedvector.h)
從四個專案 float
陣列引數初始化XMCOLOR的新實例。
這個建構函式會從四個專案 float
陣列引數初始化XMCOLOR的新實例。
注意 這僅適用于以 C++ 為基礎的開發。
語法
void XMCOLOR(
const float *pArray
) noexcept;
參數
pArray
四個元素浮點數組,其中包含用來初始化 XMCOLOR新實例四個元件的色彩值。
傳回值
無
備註
陣列元素會對應至 XMCOLOR 新實例的向量元件,如下所示:
向量元件 | Array 元素 | 範圍 | 描述 |
---|---|---|---|
a | pArray[0] | 0.0, 1.0 | 在具現化期間,pArray[0] 會固定在 0 到 1 之間,乘以 255.0f 並指派給 (Alpha 色板) 。 |
r | pArray[1] | 0.0, 1.0 | 在具現化期間,pArray[1] 會固定在 0 到 1 之間,乘以 255.0f,然後指派給 r (紅色通道) 。 |
z | pArray[2] | 0.0, 1.0 | 在具現化期間,pArray[2] 會固定在 0 到 1 之間,乘以 255.0f,然後指派給 g (綠色通道) 。 |
w | pArray[3] | 0.0, 1.0 | 在具現化期間,pArray[3] 會固定在 0 到 1 之間,乘以 255.0f,然後指派給 b (藍色通道) 。 |
下列虛擬程式碼示範此建構函式的作業,其利用XMCOLOR結構的四個色彩通道聯集,以及 結構定義中的 實例 uint32_t
:
XMCOLOR instance;
_a1 = min( max( pArray[0], 0.0 ), 1.0 );
_r1 = min( max( pArray[1], 0.0 ), 1.0 );
_g1 = min( max( pArray[2], 0.0 ), 1.0 );
_b1 = min( max( pArray[3], 0.0 ), 1.0 );
_a1 = round ( _a1 * 255.0f );
_r1 = round ( _r1 * 255.0f );
_g1 = round ( _g1 * 255.0f );
_b1 = round ( _b1 * 255.0f );
instance.v = ( (uint32_t)_a1 << 24) |
( (uint32_t)_r1 << 16) |
( (uint32_t)_b1 << 8) |
( (uint32_t)_b1 );
需求
目標平台 | Windows |
標頭 | directxpackedvector.h |