Freigeben über


XMDECN4::XMDECN4(float,float,float,float,float)-Funktion (directxpackedvector.h)

Initialisiert eine neue instance von XMDECN4 vier normalisierten float Argumenten.

Dieser Konstruktor initialisiert eine neue instance von XMDECN4 aus vier normalisierten float Argumenten.

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

Syntax

void XMDECN4(
  float _x,
  float _y,
  float _z,
  float _w
) noexcept;

Parameter

_x

Ein normalisierter Wert für die x-Koordinate des Vektors.

Dieses Argument sollte zwischen -1,0 und 1,0 sein. während der Instanziierung eines instance von XMDECN4wird es mit 511.0f multipliziert und dann als x-Element der Struktur gespeichert.

_y

Ein normalisierter Wert für die y-Koordinate des Vektors, das y des neuen instance von XMDECN4.

Dieses Argument sollte zwischen -1,0 und 1,0 sein. während der Instanziierung einer instance von XMDECN4wird sie mit 511.0f multipliziert und dann als y-Element der Struktur gespeichert.

_z

Ein normalisierter Wert für die z-Koordinate des Vektors, das z des neuen instance von XMDECN4.

Dieses Argument sollte zwischen -1,0 und 1,0 sein. während der Instanziierung eines instance von XMDECN4wird es mit 511.0f multipliziert und dann als z-Element der Struktur gespeichert.

_w

Ein normalisierter Wert für die w-Koordinate des Vektors, das w des neuen instance von XMDECN4.

Dieses Argument sollte zwischen -1,0 und 1,0 sein.

Rückgabewert

Keine

Bemerkungen

Alle Eingabewerte, _x, _y, _z und _w werden auf einen Bereich von -1,0 bis 1,0 geklemmt.

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


    	XMDECN4 instance;
	_x1=min( max( _x, -1.0 ), 1.0 );
	_y1=min( max( _y, -1.0 ), 1.0 );
	_z1=min( max( _z, -1.0 ), 1.0 );
	_w1=min( max( _w, -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

Referenz

XMDECN4

XMDECN4-Konstruktoren