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