Partager via


fonction XMDECN4 ::XMDECN4(constfloat*) (directxpackedvector.h)

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

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

Note Ce constructeur est disponible uniquement sous C++.

Syntaxe

void XMDECN4(
  const float *pArray
) noexcept;

Paramètres

pArray

Tableau à virgule flottante à quatre éléments contenant les valeurs utilisées pour initialiser les quatre composants d’un nouveau instance de XMDECN4.

Valeur de retour

None

Remarques

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

Composant Vector Élément Array Plage Description
x pArray[0] -1.0, 1.0 Pendant l’instanciation, pArray[0] est serré entre -1 et 1, multiplié par 511.0f et affecté à x.
y pArray[1] -1.0, 1.0 Pendant l’instanciation, pArray[1] est serré entre -1 et 1, multiplié par 511.0f, puis affecté à y.
z pArray[2] -1.0, 1.0 Pendant l’instanciation, pArray[2] est serré entre -1 et 1, multiplié par 511.0f, puis affecté à z.
w pArray[3] -1.0, 1.0 Pendant l’instanciation, pArray[3] est serré entre -1 et 1, puis attribué à w.
XMDECN4 instance;
_x1=min( max( pArray[0], -1.0 ), 1.0 );
_y1=min( max( pArray[1], -1.0 ), 1.0 );
_z1=min( max( pArray[2], -1.0 ), 1.0 );
_w1=min( max( pArray[3], -1.0 ), 1.0 );
_x1 = round( _x1 *  511.0f);
_y1 = round( _y1 *  511.0f);
_z1 = round( _z1 *  511.0f);

instance.v =  ( (int32_t)_w1 << 30) |
              (((int32_t)_z1 & 0x3FF) << 20) |
              (((int32_t)_y1 & 0x3FF) << 10) |
              (((int32_t)_x1 & 0x3FF));

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête directxpackedvector.h

Voir aussi

XMDECN4

constructeurs XMDECN4