fonction XMXDECN4 ::XMXDECN4(float,float,float) (directxpackedvector.h)
Initialise une nouvelle instance de à partir de XMXDECN4
quatre arguments normalisésfloat
.
Ce constructeur initialise une nouvelle instance de XMXDECN4 à partir de quatre arguments normalisésfloat
.
Syntaxe
void XMXDECN4(
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 -1.0 et 1.0 ; lors de l’instanciation d’un instance de XMXDECN4
, il est multiplié par511.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 XMXDECN4
.
Cet argument doit être compris entre -1.0 et 1.0 ; pendant l’instanciation d’un instance de XMXDECN4
, il est multiplié par 511.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 XMXDECN4
.
Cet argument doit être compris entre -1.0 et 1.0 ; pendant l’instanciation d’un instance de XMXDECN4
, il est multiplié par511.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 XMXDECN4
.
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
Remarques
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, -1.0 ), 1.0 );
_y1=min( max( _y, -1.0 ), 1.0 );
_z1=min( max( _z, -1.0 ), 1.0 );
_w1=min( max( _w, 0.0 ), 1.0 );
_x1 = round( _x1 * 511.0f);
_y1 = round( _y1 * 511.0f);
_z1 = round( _z1 * 511.0f);
_w1 = round( _w1 * 3.0f);
instance.v = ( (int32_t)_w1 << 30) |
(((int32_t)_z1 & 0x3FF) << 20) |
(((int32_t)_y1 & 0x3FF) << 10) |
(((uint32_t)_x1 & 0x3FF));
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | directxpackedvector.h |
Voir aussi
Référence