Freigeben über


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

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

Dieser Konstruktor initialisiert eine neue instance von XMUDEC4 aus einem Argument mit vier Elementenarrayfloat.

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

Syntax

void XMUDEC4(
  const float *pArray
) noexcept;

Parameter

pArray

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

Rückgabewert

Keine

Bemerkungen

Da XMUDEC4 einen ganzzahligen Vektor mit vier Komponenten darstellt, wird der Bruchteil eines pArray-Elements abgeschnitten.

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

XMUDEC4 Mitglied Array-Element Range
x pArray[0] -0.0, 1023.0
j pArray[1] -0.0, 1023.0
z pArray[2] -0.0, 1023.0
w pArray[3] 0, 3

Elemente von pArray werden vor der Zuordnung zum entsprechenden Element von XMUDEC4 an den zulässigen Bereich geklemmt.

Der folgende Pseudocode veranschaulicht den Betrieb dieses Konstruktors, der die Union der vier Komponenten des XMUDEC4-Vektors mit einem instance von uint32_t in der Definition der Struktur nutzt:

XMUDEC4 instance;
_x1=min( max( pArray[0], 0.0 ), 1023.0 );
_y1=min( max( pArray[1], 0.0 ), 1023.0 );
_z1=min( max( pArray[2], 0.0 ), 1023.0 );
_w1=min( max( pArray[3], 0.0 ), 3.0 );

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

XMUDEC4

XMUDEC4-Konstruktoren