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