Fonction XMUDECN4::XMUDECN4(float,float,float,float) (directxpackedvector.h)
Ce constructeur initialise une nouvelle instance de XMUDECN4 à partir de quatre arguments normalisésfloat
.
Syntaxe
void XMUDECN4(
float _x,
float _y,
float _z,
float _w
) noexcept;
Paramètres
_x
Valeur normalisée pour la coordonnée x du vecteur.
Cet argument doit être compris entre 0,0 et 1,0 ; lors de l’instanciation d’un instance de XMUDECN4
, il est multiplié par1023.0f
, puis stocké en tant que membre x de la structure.
_y
Valeur normalisée pour la coordonnée y du vecteur, y du nouveau instance de XMUDECN4
.
Cet argument doit être compris entre 0,0 et 1,0 ; pendant l’instanciation d’un instance de XMUDECN4
, il est multiplié par 1023.0f
puis stocké en tant que membre y de la structure.
_z
Valeur normalisée pour la coordonnée z du vecteur, z du nouveau instance de XMUDECN4
.
Cet argument doit être compris entre 0,0 et 1,0 ; pendant l’instanciation d’un instance de XMUDECN4
, il est multiplié par1023.0f
, puis stocké en tant que membre z de la structure.
_w
Valeur normalisée pour la coordonnée w du vecteur, le w de la nouvelle instance de XMUDECN4
.
Cet argument doit être compris entre -1.0 et 1.0 ; lors de l’instanciation d’un instance de XMCOLOR, il est multiplié par3.0f
, puis stocké en tant que membre w de la structure.
Valeur de retour
None
Notes
Toutes les valeurs d’entrée, _x, _y, _z et _w sont limitées à une plage comprise entre -1,0 et 1,0.
Le pseudocode suivant illustre l’opération de ce constructeur, qui tire parti des union
quatre composants du XMDECN4
vecteur avec un instance de uint32_t
dans la définition de la structure :
XMDECN4 instance;
_x1=min( max( _x, 0.0 ), 1.0 );
_y1=min( max( _y, 0.0 ), 1.0 );
_z1=min( max( _z, 0.0 ), 1.0 );
_w1=min( max( _w, 0.0 ), 1.0 );
_x = round( _x * 1023.0f);
_y = round( _y * 1023.0f);
_z = round( _z * 1023.0f);
_w = round( _w * 3.0f);
instance.v = ( (uint32_t)_w1 << 30) |
(((uint32_t)_z1 & 0x3FF) << 20) |
(((uint32_t)_y1 & 0x3FF) << 10) |
(((uint32_t)_x1 & 0x3FF));
Spécifications
Plateforme cible | Windows |
En-tête | directxpackedvector.h |
Voir aussi
Référence