Partager via


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

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

Ce constructeur initialise une nouvelle instance de XMDEC4 à partir d’un argument de tableau float à quatre éléments.

Note Ce constructeur est disponible uniquement sous C++.

Syntaxe

void XMDEC4(
  const float *pArray
) noexcept;

Paramètres

pArray

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

Valeur de retour

None

Notes

Comme XMDEC4 représente un vecteur entier à quatre composants, la partie fractionnaire d’un élément de pArray est tronquée.

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

Composant Vector Élément Array Plage
x pArray[0] -511, 511
y pArray[1] -511, 511
z pArray[2] -511, 511
w pArray[3] -1, 1

Les éléments de pArray seront fixés à la plage autorisée avant d’être affectés au membre approprié de XMDEC4.

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

XMDEC4 instance;
_x1=min( max( pArray[0], -511.0 ), 511.0 );
_y1=min( max( pArray[1], -511.0 ), 511.0 );
_z1=min( max( pArray[2], -511.0 ), 511.0 );
_w1=min( max( pArray[3], -1.0 ), 1.0 );

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

Spécifications

   
Plateforme cible Windows
En-tête directxpackedvector.h

Voir aussi

XMDEC4

Constructeurs XMDEC4