XMCOLOR::XMCOLOR(constfloat*)-Funktion (directxpackedvector.h)
Initialisiert eine neue instance von XMCOLOR aus einem Argument mit vier Elementarraysfloat
.
Dieser Konstruktor initialisiert eine neue instance von XMCOLOR aus einem aus einem Argument mit vier Elementarraysfloat
.
Syntax
void XMCOLOR(
const float *pArray
) noexcept;
Parameter
pArray
Vier Element-Gleitkommaarray mit den Farbwerten, die zum Initialisieren der vier Komponenten einer neuen instance von XMCOLOR verwendet werden.
Rückgabewert
Keine
Bemerkungen
Arrayelemente werden den Vektorkomponenten einer neuen instance von XMCOLOR wie folgt zugeordnet:
Vektorkomponente | Array-Element | Bereich | BESCHREIBUNG |
---|---|---|---|
a | pArray[0] | 0.0, 1.0 | Während der Instanziierung wird pArray[0] zwischen 0 und 1 geklemmt, mit 255.0f multipliziert und einem (Alphakanal) zugewiesen. |
r | pArray[1] | 0.0, 1.0 | Während der Instanziierung wird pArray[1] zwischen 0 und 1 geklemmt, mit 255.0f multipliziert und dann r (roter Kanal) zugewiesen. |
z | pArray[2] | 0.0, 1.0 | Während der Instanziierung wird pArray[2] zwischen 0 und 1 geklemmt, mit 255.0f multipliziert und dann g (grüner Kanal) zugewiesen. |
w | pArray[3] | 0.0, 1.0 | Während der Instanziierung wird pArray[3] zwischen 0 und 1 geklemmt, mit 255.0f multipliziert und dann b (blauer Kanal) zugewiesen. |
Der folgende Pseudocode veranschaulicht den Betrieb dieses Konstruktors, der die Union der vier Farbkanäle der XMCOLOR-Struktur mit einem instance von uint32_t
in der Definition der Struktur nutzt:
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 );
Anforderungen
Zielplattform | Windows |
Kopfzeile | directxpackedvector.h |