XMUBYTEN2 structure (directxpackedvector.h)

A 2D vector for storing unsigned, normalized values as signed 8-bits (1 byte) integers.

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

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

Syntax

struct XMUBYTEN2 {
  union {
    struct {
      uint8_t x;
      uint8_t y;
    };
    uint16_t v;
  };
  void        XMUBYTEN2();
  void        XMUBYTEN2(
    const XMUBYTEN2 & unnamedParam1
  );
  XMUBYTEN2 & operator=(
    const XMUBYTEN2 & unnamedParam1
  );
  void        XMUBYTEN2(
    XMUBYTEN2 && unnamedParam1
  );
  XMUBYTEN2 & operator=(
    XMUBYTEN2 && unnamedParam1
  );
  void        XMUBYTEN2(
    uint16_t Packed
  ) noexcept;
  void        XMUBYTEN2(
    uint8_t _x,
    uint8_t _y
  ) noexcept;
  void        XMUBYTEN2(
    const uint8_t *pArray
  ) noexcept;
  void        XMUBYTEN2(
    float _x,
    float _y
  ) noexcept;
  void        XMUBYTEN2(
    const float *pArray
  ) noexcept;
  XMUBYTEN2 & operator=(
    uint16_t Packed
  ) noexcept;
};

Members

x

Unsigned 8-bit integer value in the range [0, 255] describing the x-coordinate of the vector.

y

Unsigned 8-bit integer value in the range [0, 255] describing the y-coordinate of the vector.

v

void XMUBYTEN2()

Default constructor for XMUBYTEN2

Default constructor for XMUBYTEN2.

Note  This constructor is only available with C++.
 

void XMUBYTEN2( const XMUBYTEN2 & unnamedParam1)

A constructor for XMUBYTEN2

A constructor for XMUBYTEN2.

Note  This constructor is only available with C++.

XMUBYTEN2 & operator=( const XMUBYTEN2 & unnamedParam1)

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

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

Note  This operator is only available with C++.

void XMUBYTEN2( XMUBYTEN2 && unnamedParam1)

A constructor for XMUBYTEN2

A constructor for XMUBYTEN2.

Note  This constructor is only available with C++.

XMUBYTEN2 & operator=( XMUBYTEN2 && unnamedParam1)

void XMUBYTEN2( uint16_t Packed) noexcept

A constructor for XMUBYTEN2

A constructor for XMUBYTEN2.

Note  This constructor is only available with C++.

void XMUBYTEN2( uint8_t _x, uint8_t _y) noexcept

Initializes a new instance of XMUBYTEN2 from two uint8_t arguments.

This constructor initializes a new instance of XMUBYTEN2 from two uint8_t arguments.

Note  This constructor is only available with C++.
 

void XMUBYTEN2( const uint8_t *pArray) noexcept

Initializes a new instance of XMUBYTEN2 from a two-element uint8_t array argument.

This constructor initializes a new instance of XMUBYTEN2 from a two-element uint8_t array argument.

Note  This constructor is only available with C++.

void XMUBYTEN2( float _x, float _y) noexcept

Initializes a new instance of XMUBYTEN2 from two float arguments.

This constructor initializes a new instance of XMUBYTEN2 from two float arguments.

Note  This constructor is only available with C++.
 

void XMUBYTEN2( const float *pArray) noexcept

Initializes a new instance of XMUBYTEN2 from a two-element float array argument.

This constructor initializes a new instance of XMUBYTEN2 from a from a two-element float array argument.

Note  This constructor is only available with C++.

XMUBYTEN2 & operator=( uint16_t Packed) noexcept

Remarks

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

XMUBYTEN2 can be used to load instances of XMVECTOR from normalized values, by using XMLoadUByteN2, which divides each component 255.0f, rounds the result, and then assigns the components to an XMVECTOR instance.

XMVECTOR instances containing normalized values can be stored into XMUBYTEN2 using XMStoreUByteN2, which multiplies each component by 255.0f, rounding the result, before assigning the values to the appropriate XMUBYTEN2 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

XMUBYTEN2 Extensions