fonction XMBYTEN4 ::XMBYTEN4(float,float,float) (directxpackedvector.h)
Initialise une nouvelle instance de à partir de XMBYTEN4
quatre float
arguments.
Ce constructeur initialise une nouvelle instance de XMBYTEN4 à partir de quatre float
arguments.
Syntaxe
void XMBYTEN4(
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. Pendant l’instanciation d’un instance de XMBYTEN4
, il est multiplié par127.0f
, puis stocké en tant que membre x de la structure.
_y
Valeur normalisée pour la coordonnée y du vecteur, y de la nouvelle instance deXMBYTEN4
Cet argument doit être compris entre -1.0 et 1.0. Pendant l’instanciation d’un instance de XMBYTEN4
, il est multiplié par127.0f
, puis stocké en tant que membre y de la structure.
_z
Valeur normalisée pour la coordonnée z du vecteur, le z du nouveau instance deXMBYTEN4
Cet argument doit être compris entre -1.0 et 1.0. Pendant l’instanciation d’un instance de XMBYTEN4
, il est multiplié par127.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 deXMBYTEN4
Cet argument doit être compris entre -1.0 et 1.0. Pendant l’instanciation d’un instance de XMBYTEN4
, il est multiplié par127.0f
, puis stocké en tant que membre w de la structure.
Valeur de retour
None
Remarques
La magnitude de chaque argument du constructeur est limitée à la plage prise en charge par un entier signé 8 bits [-127.0, 127.0].
Le pseudocode suivant illustre l’opération de ce constructeur, qui tire parti des union
quatre composants du XMBYTEN4
vecteur avec un instance de uint32_t
dans la définition de la structure :
XMBYTEN4 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, -1.0 ), 1.0 );
_x1 = round( _x1 * 127.0f);
_y1 = round( _y1 * 127.0f);
_z1 = round( _z1 * 127.0f);
_w1 = round( _w1 * 127.0f);
instance.x = (int8_t)_x1;
instance.y = (int8_t)_y1;
instance.z = (int8_t)_z1;
instance.w = (int8_t)_w1;
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