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
.
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 |