Partager via


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

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

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

Note Ce constructeur est disponible uniquement sous C++.

Syntaxe

void XMXDEC4(
  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 XMXDEC4.

Valeur de retour

None

Notes

Comme XMXDEC4 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 XMXDEC4 comme suit :

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

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

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

XMXDEC4 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], 0.0 ), 3.0 );

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

Spécifications

   
Plateforme cible Windows
En-tête directxpackedvector.h

Voir aussi

XMXDEC4

Constructeurs XMXDEC4