Partager via


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.

Note Ce constructeur n’est disponible que sous C++.
 

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

XMBYTEN4

constructeurs XMBYTEN4