Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Initialise une nouvelle instance de XMU555 à partir d’un tableau de trois éléments float et d’un argumentbool.
Ce constructeur initialise une nouvelle instance de XMU555 à partir d’un tableau de trois éléments float (spécifiant les composants x, y et z) et d’un bool argument (spécifiant un composant w).
Syntaxe
void XMU555(
const float *pArray,
bool _w
) noexcept;
Paramètres
pArray
Tableau à virgule flottante à trois éléments contenant les valeurs utilisées pour initialiser les composants x, y et z d’une nouvelle instance de XMU555.
_w
Valeur du composant w du instance.
Valeur de retour
None
Notes
Les éléments tableaux et l’argument _w sont mappés aux composants vectoriels d’une nouvelle instance de XMU555 comme suit :
| Membre XMU555 | Argument | Plage |
|---|---|---|
| x | pArray[0] | 0.0, 31.0 |
| y | pArray[1] | 0.0, 31.0 |
| z | pArray[2] | 0.0, 31.0 |
| w | _W | 0.0, 1.0 |
Les arguments des constructeurs seront limités à la plage autorisée avant l’affectation au membre approprié de XMU555.
Le pseudocode suivant illustre le fonctionnement de ce constructeur, qui tire parti de l’union des quatre composants du vecteur XMU555 avec une instance de uint16_t dans la définition de la structure :
XMU555 instance;
_x1=min( max( pArray[0], 0.0 ), 31.0 );
_y1=min( max( pArray[1], 0.0 ), 31.0 );
_z1=min( max( pArray[2], 0.0 ), 31.0 );
_w1=min( max( _w, 0 ), 1 );
instance.v = (((uint16_t)_w1 ? 0x8000 : 0) |
(((uint16_t)_z1 & 0x1F) << 10) |
(((uint16_t)_y1 & 0x1F) << 5) |
(((uint16_t)_x1 & 0x1F)));
Spécifications
| Plateforme cible | Windows |
| En-tête | directxpackedvector.h |