Share via


fonction XMUDECN4 ::XMUDECN4(constfloat*) (directxpackedvector.h)

Initialise une nouvelle instance de XMUDECN4 à partir d’un argument de tableau à quatre élémentsfloat.

Ce constructeur initialise une nouvelle instance de XMUDECN4 à partir d’un argument de tableau à quatre élémentsfloat.

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

Syntaxe

void XMUDECN4(
  const float *pArray
) noexcept;

Paramètres

pArray

Tableau à virgule flottante à quatre éléments contenant les valeurs utilisées pour initialiser les quatre composants d’une nouvelle instance de XMUDECN4.

Valeur de retour

None

Remarques

Les éléments tableaux sont mappés aux composants vectoriels d’une nouvelle instance de XMUDECN4 comme suit :

Composant Vector Array, élément Plage Description
x pArray[0] 0.0, 1.0 Pendant l’instanciation, pArray[0] est limité entre 0 et 1, multiplié par 1023.0f et affecté à x.
y pArray[1] 0.0, 1.0 Pendant l’instanciation, pArray[1] est limité entre 0 et 1, multiplié par 1023.0f, puis affecté à y.
z pArray[2] 0.0, 1.0 Pendant l’instanciation, pArray[2] est limité entre 0 et 1, multiplié par 1023,0f, puis affecté à z.
w pArray[3] 0.0, 1.0 Pendant l’instanciation, pArray[3] est limité entre 0 et 1, puis affecté à w. Cet argument doit être compris entre 0,0 et 1,0 ; lors de l’instanciation d’une instance de XMUDECN4, elle est multipliée par 3,0f, puis stockée en tant que membre w de la structure.
XMUDECN4 instance;
_x1=min( max( pArray[0], 0.0 ), 1.0 );
_y1=min( max( pArray[1], 0.0 ), 1.0 );
_z1=min( max( pArray[2], 0.0 ), 1.0 );
_w1=min( max( pArray[3], 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));

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête directxpackedvector.h

Voir aussi

XMUDECN4

constructeurs XMUDECN4