XMUSHORTN4 structure (directxpackedvector.h)

A 4D vector for storing unsigned, normalized values as signed 16-bit integers (type uint16_t).

For a list of more functionality such as constructors and operators that are available using XMUSHORTN4 when you are programming in C++, see XMUSHORTN4 Extensions.

Note  See DirectXMath Library Type Equivalences for information about equivalent D3DDECLTYPE, D3DFORMAT, and DXGI_FORMAT objects.
 

Syntax

struct XMUSHORTN4 {
  union {
    struct {
      uint16_t x;
      uint16_t y;
      uint16_t z;
      uint16_t w;
    };
    uint64_t v;
  };
  void         XMUSHORTN4();
  void         XMUSHORTN4(
    const XMUSHORTN4 & unnamedParam1
  );
  XMUSHORTN4 & operator=(
    const XMUSHORTN4 & unnamedParam1
  );
  void         XMUSHORTN4(
    XMUSHORTN4 && unnamedParam1
  );
  XMUSHORTN4 & operator=(
    XMUSHORTN4 && unnamedParam1
  );
  void         XMUSHORTN4(
    uint64_t Packed
  ) noexcept;
  void         XMUSHORTN4(
    uint16_t _x,
    uint16_t _y,
    uint16_t _z,
    uint16_t _w
  ) noexcept;
  void         XMUSHORTN4(
    const uint16_t *pArray
  ) noexcept;
  void         XMUSHORTN4(
    float _x,
    float _y,
    float _z,
    float _w
  ) noexcept;
  void         XMUSHORTN4(
    const float *pArray
  ) noexcept;
  XMUSHORTN4 & operator=(
    uint64_t Packed
  ) noexcept;
};

Members

x

Unsigned 16-bit integer in the range [0-65535] describing the x-coordinate of the vector.

y

Unsigned 16-bit integer in the range [0-65535] describing the y-coordinate of the vector.

z

Unsigned 16-bit integer in the range [0-65535] describing the z-coordinate of the vector.

w

Unsigned 16-bit integer in the range [0-65535] describing the w-coordinate of the vector.

v

void XMUSHORTN4()

Default constructor for XMUSHORTN4.

Default constructor for XMUSHORTN4.

Note  This constructor is only available under C++.
 

void XMUSHORTN4( const XMUSHORTN4 & unnamedParam1)

A constructor for XMUSHORTN4.

A constructor for XMUSHORTN4.

Note  This constructor is only available under C++.

XMUSHORTN4 & operator=( const XMUSHORTN4 & unnamedParam1)

Assigns the vector component data from one instance of XMUSHORTN4 to the current instance of XMUSHORTN4.

This operator assigns the vector component data from one instance of XMUSHORTN4 to the current instance of XMUSHORTN4.

Note  This operator is only available for C++ based development.

void XMUSHORTN4( XMUSHORTN4 && unnamedParam1)

A constructor for XMUSHORTN4.

A constructor for XMUSHORTN4.

Note  This constructor is only available under C++.

XMUSHORTN4 & operator=( XMUSHORTN4 && unnamedParam1)

void XMUSHORTN4( uint64_t Packed) noexcept

A constructor for XMUSHORTN4.

A constructor for XMUSHORTN4.

Note  This constructor is only available under C++.

void XMUSHORTN4( uint16_t _x, uint16_t _y, uint16_t _z, uint16_t _w) noexcept

Initializes a new instance of XMUSHORTN4 from four uint16_t arguments.

This constructor initializes a new instance of XMUSHORTN4 from four uint16_t arguments.

Note  This constructor is only available under C++.
 

void XMUSHORTN4( const uint16_t *pArray) noexcept

Initializes a new instance of XMUSHORTN4 from a four element uint16_t array argument.

This constructor initializes a new instance of XMUSHORTN4 from a four element uint16_t array argument.

Note  This constructor is only available under C++.

void XMUSHORTN4( float _x, float _y, float _z, float _w) noexcept

Initializes a new instance of XMUSHORTN4 from four normalized float arguments.

This constructor initializes a new instance of XMUSHORTN4 from four normalized float arguments.

Note  This constructor is only available under C++.
 

void XMUSHORTN4( const float *pArray) noexcept

Initializes a new instance of XMUSHORTN4 from a four element float array argument.

This constructor initializes a new instance of XMUSHORTN4 from a four element float array argument.

Note  This constructor is only available under C++.

XMUSHORTN4 & operator=( uint64_t Packed) noexcept

Remarks

Those XMUSHORTN4 constructors using floating point arguments require normalized input, which must be in the range of [0.0-1.0]. During instantiation, data is multiplied by 65535.0f, results are rounded, and then assigned to the appropriate members of XMUSHORTN4.

You can use XMUSHORTN4 to load instances of XMVECTOR from normalized values by using XMLoadUShortN4, which divides each component 65535.0f, rounds the result, and then assigns the components to an XMVECTOR instance.

You can store XMVECTOR instances containing normalized values into XMUSHORTN4 using XMStoreUShortN4, which multiplies each component by 65535.0f, and then rounds the result before assigning the values to the appropriate XMUSHORTN4 members.

Namespace: Use DirectX::PackedVector

Platform Requirements

Microsoft Visual Studio 2010 or Microsoft Visual Studio 2012 with the Windows SDK for Windows 8. Supported for Win32 desktop apps, Windows Store apps, and Windows Phone 8 apps.

Requirements

Requirement Value
Header directxpackedvector.h

See also

DirectXMath Library Structures

XMUSHORTN4 Extensions