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

Initialisiert eine neue instance von XMXDECN4 aus einem Arrayargument mit vier Elementenfloat.

Dieser Konstruktor initialisiert eine neue instance von XMXDECN4 aus einem Arrayargument mit vier Elementenfloat.

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

Syntax

void XMXDECN4(
  const float *pArray
) noexcept;

Parameter

pArray

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

Rückgabewert

Keine

Bemerkungen

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

Vektorkomponente Array-Element Range BESCHREIBUNG
x pArray[0] -0.0, 1.0 Während der Instanziierung wird pArray[0] zwischen -1 und 1 eingespannt, mit 511,0f multipliziert und x zugewiesen.
j pArray[1] -0.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] -0.0, 1.0 Während der Instanziierung wird pArray[2] zwischen -1 und 1 eingespannt, mit 511,0f multipliziert und dann z zugewiesen.
w pArray[3] 0.0, 1.0 Während der Instanziierung wird pArray[3] zwischen 0 und 1 eingespannt und dann w zugewiesen. Dieses Argument sollte zwischen 0,0 und 1,0 sein; während der Instanziierung einer instance von XMXDECN4 wird sie mit 3.0f multipliziert und dann als w-Element der -Struktur gespeichert.
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));

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile directxpackedvector.h

Weitere Informationen

Referenz

XMXDECN4

XMXDECN4-Konstruktoren