Partager via


Fonction XMUDECN4::XMUDECN4(float,float,float,float) (directxpackedvector.h)

Ce constructeur initialise une nouvelle instance de XMUDECN4 à partir de quatre arguments normalisésfloat.

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

Syntaxe

void XMUDECN4(
  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 0,0 et 1,0 ; lors de l’instanciation d’un instance de XMUDECN4, il est multiplié par1023.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 XMUDECN4.

Cet argument doit être compris entre 0,0 et 1,0 ; pendant l’instanciation d’un instance de XMUDECN4, il est multiplié par 1023.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 XMUDECN4.

Cet argument doit être compris entre 0,0 et 1,0 ; pendant l’instanciation d’un instance de XMUDECN4, il est multiplié par1023.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 XMUDECN4.

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

Notes

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, 0.0 ), 1.0 );
	_y1=min( max( _y, 0.0 ), 1.0 );
	_z1=min( max( _z, 0.0 ), 1.0 );
	_w1=min( max( _w, 0.0 ), 1.0 );
	_x = round( _x *  1023.0f);
	_y = round( _y *  1023.0f);
	_z = round( _z *  1023.0f);
	_w = round( _w *  3.0f);

	instance.v =  ( (uint32_t)_w1 << 30) |
                      (((uint32_t)_z1 & 0x3FF) << 20) |
                      (((uint32_t)_y1 & 0x3FF) << 10) |
                      (((uint32_t)_x1 & 0x3FF));
	

Spécifications

   
Plateforme cible Windows
En-tête directxpackedvector.h

Voir aussi

Référence

XMUDECN4

Constructeurs XMUDECN4