fonction XMDECN4 ::XMDECN4(constfloat*) (directxpackedvector.h)
Initialise une nouvelle instance de XMDECN4 à partir d’un argument de tableau à quatre élémentsfloat
.
Ce constructeur initialise une nouvelle instance de XMDECN4 à partir d’un argument de tableau de quatre élémentsfloat
.
Note Ce constructeur est disponible uniquement sous C++.
Syntaxe
void XMDECN4(
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 XMDECN4.
Valeur de retour
None
Remarques
Les éléments tableaux sont mappés aux composants vectoriels d’une nouvelle instance de XMDECN4 comme suit :
Composant Vector | Élément Array | Plage | Description |
---|---|---|---|
x | pArray[0] | -1.0, 1.0 | Pendant l’instanciation, pArray[0] est serré entre -1 et 1, multiplié par 511.0f et affecté à x. |
y | pArray[1] | -1.0, 1.0 | Pendant l’instanciation, pArray[1] est serré entre -1 et 1, multiplié par 511.0f, puis affecté à y. |
z | pArray[2] | -1.0, 1.0 | Pendant l’instanciation, pArray[2] est serré entre -1 et 1, multiplié par 511.0f, puis affecté à z. |
w | pArray[3] | -1.0, 1.0 | Pendant l’instanciation, pArray[3] est serré entre -1 et 1, puis attribué à w. |
XMDECN4 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], -1.0 ), 1.0 );
_x1 = round( _x1 * 511.0f);
_y1 = round( _y1 * 511.0f);
_z1 = round( _z1 * 511.0f);
instance.v = ( (int32_t)_w1 << 30) |
(((int32_t)_z1 & 0x3FF) << 20) |
(((int32_t)_y1 & 0x3FF) << 10) |
(((int32_t)_x1 & 0x3FF));
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Windows |
En-tête | directxpackedvector.h |