fonction XMXDECN4 ::XMXDECN4(constfloat*) (directxpackedvector.h)
Initialise une nouvelle instance de XMXDECN4 à partir d’un argument de tableau à quatre élémentsfloat
.
Ce constructeur initialise une nouvelle instance de XMXDECN4 à partir d’un argument de tableau de quatre élémentsfloat
.
Note Ce constructeur est disponible uniquement sous C++.
Syntaxe
void XMXDECN4(
const float *pArray
) noexcept;
Paramètres
pArray
Tableau à virgule flottante à quatre éléments contenant les valeurs utilisées pour initialiser les quatre composants d’un nouveau instance de XMXDECN4.
Valeur de retour
None
Remarques
Les éléments tableaux sont mappés aux composants vectoriels d’une nouvelle instance de XMXDECN4 comme suit :
Composant Vector | Élément Array | Plage | Description |
---|---|---|---|
x | pArray[0] | -0.0, 1.0 | Pendant l’instanciation, pArray[0] est serré entre -1 et 1, multiplié par 511.0f et affecté à x. |
y | pArray[1] | -0.0, 1.0 | Pendant l’instanciation, pArray[1] est serré entre -1 et 1, multiplié par 511.0f, puis affecté à y. |
z | pArray[2] | -0.0, 1.0 | Pendant l’instanciation, pArray[2] est serré entre -1 et 1, multiplié par 511.0f, puis affecté à z. |
w | pArray[3] | 0.0, 1.0 | Pendant l’instanciation, pArray[3] est serré entre 0 et 1, puis attribué à w. Cet argument doit être compris entre 0,0 et 1,0 ; lors de l’instanciation d’un instance de XMXDECN4, il est multiplié par 3.0f, puis stocké en tant que membre w de la structure. |
XMXDECN4 instance;
_x1=min( max( pArray[0], -1.0 ), 1.0 );
_y1=min( max( pArray[1], -1.0 ), 1.0 );
_z1=min( max( pArray[2], -1.0 ), 1.0 );
_w1=min( max( pArray[3], 0.0 ), 1.0 );
_x1 = round( _x1 * 511.0f);
_y1 = round( _y1 * 511.0f);
_z1 = round( _z1 * 511.0f);
_w1 = round( _w1 * 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
Référence