XMCOLOR::XMCOLOR(constfloat*) 関数 (directxpackedvector.h)
4 つの要素float
配列引数から XMCOLOR の新しいインスタンスを初期化します。
このコンストラクターは、4 つの要素float
配列引数から、 から XMCOLOR の新しいインスタンスを初期化します。
メモ これは、C++ ベースの開発でのみ使用できます。
構文
void XMCOLOR(
const float *pArray
) noexcept;
パラメーター
pArray
XMCOLOR の新しいインスタンスの 4 つのコンポーネントを初期化するために使用される色の値を含む 4 つの要素浮動小数点配列。
戻り値
なし
解説
配列要素は、次のように XMCOLOR の新しいインスタンスのベクター コンポーネントにマップされます。
ベクター コンポーネント | Array 要素 | Range | 説明 |
---|---|---|---|
a | pArray[0] | 0.0, 1.0 | インスタンス化中、pArray[0] は 0 から 1 の間でクランプされ、255.0f を乗算して (アルファ チャネル) に割り当てられます。 |
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 (緑チャネル) に割り当てられます。 |
。 | pArray[3] | 0.0, 1.0 | インスタンス化中、pArray[3] は 0 から 1 の間でクランプされ、255.0f を乗算して b (青いチャネル) に割り当てられます。 |
次の擬似コードは、このコンストラクターの操作を示しています。このコンストラクターは、XMCOLOR 構造体の 4 つのカラー チャネルと、 構造体の定義内の インスタンス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 |