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

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

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

Syntax

void XMUDECN4(
  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 0,0 und 1,0 sein. während der Instanziierung eines instance von XMUDECN4wird es mit 1023.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 XMUDECN4.

Dieses Argument sollte zwischen 0,0 und 1,0 sein. während der Instanziierung einer instance von XMUDECN4wird sie mit 1023.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 XMUDECN4.

Dieses Argument sollte zwischen 0,0 und 1,0 sein. während der Instanziierung eines instance von XMUDECN4wird es mit 1023.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 XMUDECN4.

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

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, 0.0 ), 1.0 );
	_y1=min( max( _y, 0.0 ), 1.0 );
	_z1=min( max( _z, 0.0 ), 1.0 );
	_w1=min( max( _w, 0.0 ), 1.0 );
	_x = round( _x *  1023.0f);
	_y = round( _y *  1023.0f);
	_z = round( _z *  1023.0f);
	_w = round( _w *  3.0f);

	instance.v =  ( (uint32_t)_w1 << 30) |
                      (((uint32_t)_z1 & 0x3FF) << 20) |
                      (((uint32_t)_y1 & 0x3FF) << 10) |
                      (((uint32_t)_x1 & 0x3FF));
	

Anforderungen

   
Zielplattform Windows
Kopfzeile directxpackedvector.h

Weitere Informationen

Referenz

XMUDECN4

XMUDECN4-Konstruktoren