Partager via


Fonction XMCOLOR::XMCOLOR(constfloat*) (directxpackedvector.h)

Initialise une nouvelle instance de XMCOLOR à partir d’un argument de tableau à quatre élémentsfloat.

Ce constructeur initialise une nouvelle instance de XMCOLOR à partir d’un argument de tableau à quatre élémentsfloat.

Note Ce n’est disponible que pour le développement basé sur C++.

Syntaxe

void XMCOLOR(
  const float *pArray
) noexcept;

Paramètres

pArray

Tableau à virgule flottante à quatre éléments contenant les valeurs de couleur utilisées pour initialiser les quatre composants d’une nouvelle instance de XMCOLOR.

Valeur de retour

None

Notes

Les éléments tableaux sont mappés aux composants vectoriels d’une nouvelle instance de XMCOLOR comme suit :

Composant Vector Élément Array Plage Description
a pArray[0] 0.0, 1.0 Pendant l’instanciation, pArray[0] est serré entre 0 et 1, multiplié par 255,0f et affecté à un (canal alpha).
r pArray[1] 0.0, 1.0 Pendant l’instanciation, pArray[1] est serré entre 0 et 1, multiplié par 255,0f, puis affecté à r (canal rouge).
z pArray[2] 0.0, 1.0 Pendant l’instanciation, pArray[2] est serré entre 0 et 1, multiplié par 255,0f, puis affecté à g (canal vert).
w pArray[3] 0.0, 1.0 Pendant l’instanciation, pArray[3] est serré entre 0 et 1, multiplié par 255,0f, puis affecté à b (canal bleu).

Le pseudocode suivant illustre le fonctionnement de ce constructeur, qui tire parti de l’union des quatre canaux de couleur de la structure XMCOLOR avec un instance de uint32_t dans la définition de la structure :

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 );

Spécifications

   
Plateforme cible Windows
En-tête directxpackedvector.h

Voir aussi

XMCOLOR

Constructeurs XMCOLOR