Freigeben über


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.

Hinweis Dies ist nur für C++-basierte Entwicklung verfügbar.

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

Weitere Informationen

XMCOLOR

XMCOLOR-Konstruktoren