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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour