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

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

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

Note Ce constructeur n’est disponible que sous C++.

Syntaxe

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

Valeur de retour

None

Remarques

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

membre XMUDEC4 Array, élément Plage
x pArray[0] -0.0, 1023.0
y pArray[1] -0.0, 1023.0
z pArray[2] -0.0, 1023.0
w pArray[3] 0, 3

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

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

XMUDEC4 instance;
_x1=min( max( pArray[0], 0.0 ), 1023.0 );
_y1=min( max( pArray[1], 0.0 ), 1023.0 );
_z1=min( max( pArray[2], 0.0 ), 1023.0 );
_w1=min( max( pArray[3], 0.0 ), 3.0 );

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

Configuration requise

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

Voir aussi

XMUDEC4

constructeurs XMUDEC4