Share via


XMDECN4::XMDECN4(constfloat*)-Funktion (directxpackedvector.h)

Initialisiert eine neue instance von XMDECN4 aus einem Argument mit vier Elementenarrayfloat.

Dieser Konstruktor initialisiert eine neue instance von XMDECN4 aus einem Argument mit vier Elementarraysfloat.

Hinweis Dieser Konstruktor ist nur unter C++ verfügbar.

Syntax

void XMDECN4(
  const float *pArray
) noexcept;

Parameter

pArray

Vier Element-Gleitkommaarray mit den Werten, die zum Initialisieren der vier Komponenten eines neuen instance von XMDECN4 verwendet werden.

Rückgabewert

Keine

Bemerkungen

Arrayelemente werden den Vektorkomponenten einer neuen instance von XMDECN4 wie folgt zugeordnet:

Vektorkomponente Array-Element Range BESCHREIBUNG
x pArray[0] -1.0, 1.0 Während der Instanziierung wird pArray[0] zwischen -1 und 1 geklemmt, mit 511.0f multipliziert und x zugewiesen.
j pArray[1] -1.0, 1.0 Während der Instanziierung wird pArray[1] zwischen -1 und 1 eingespannt, mit 511.0f multipliziert und dann y zugewiesen.
z pArray[2] -1.0, 1.0 Während der Instanziierung wird pArray[2] zwischen -1 und 1 geklemmt, mit 511.0f multipliziert und dann z zugewiesen.
w pArray[3] -1.0, 1.0 Während der Instanziierung wird pArray[3] zwischen -1 und 1 eingeklemmt und dann w zugewiesen.
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));

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile directxpackedvector.h

Weitere Informationen

XMDECN4

XMDECN4-Konstruktoren