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