XMUBYTE4 structure (directxpackedvector.h)

Describes a 4D vector where each component is a unsigned integer, 8-bits (1 byte) in length.

A 4D vector where each component is a unsigned integer, 8-bits (1 byte) in length.

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

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

Syntax

struct XMUBYTE4 {
  union {
    struct {
      uint8_t x;
      uint8_t y;
      uint8_t z;
      uint8_t w;
    };
    uint32_t v;
  };
  void       XMUBYTE4();
  void       XMUBYTE4(
    const XMUBYTE4 & unnamedParam1
  );
  XMUBYTE4 & operator=(
    const XMUBYTE4 & unnamedParam1
  );
  void       XMUBYTE4(
    XMUBYTE4 && unnamedParam1
  );
  XMUBYTE4 & operator=(
    XMUBYTE4 && unnamedParam1
  );
  void       XMUBYTE4(
    uint8_t _x,
    uint8_t _y,
    uint8_t _z,
    uint8_t _w
  ) noexcept;
  void       XMUBYTE4(
    uint32_t Packed
  ) noexcept;
  void       XMUBYTE4(
    const uint8_t *pArray
  ) noexcept;
  void       XMUBYTE4(
    float _x,
    float _y,
    float _z,
    float _w
  ) noexcept;
  void       XMUBYTE4(
    const float *pArray
  ) noexcept;
  XMUBYTE4 & operator=(
    uint32_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.

z

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

w

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

v

Unsigned 32-bit 8-bit integer representing the 4D vector.

void XMUBYTE4()

Default constructor for XMUBYTE4.

Default constructor for XMUBYTE4.

Note  This constructor is only available under C++.
 

void XMUBYTE4( const XMUBYTE4 & unnamedParam1)

Default constructor for XMUBYTE4.

Default constructor for XMUBYTE4.

Note  This constructor is only available under C++.

XMUBYTE4 & operator=( const XMUBYTE4 & unnamedParam1)

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

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

Note  This operator is only available under C++.

void XMUBYTE4( XMUBYTE4 && unnamedParam1)

XMUBYTE4 & operator=( XMUBYTE4 && unnamedParam1)

void XMUBYTE4( uint8_t _x, uint8_t _y, uint8_t _z, uint8_t _w) noexcept

Initializes a new instance of XMUBYTE4 from four int8_t arguments.

This constructor initializes a new instance of XMUBYTE4 from four uint8_t arguments.

Note  This constructor is only available under C++.
 

void XMUBYTE4( uint32_t Packed) noexcept

Initializes a new instance of XMUBYTE4 from a Uuint32_t variable containing component data in a packed format.

This constructor initializes a new instance of XMUBYTE4 from a Uuint32_t variable containing component data in a packed format.

Note  This constructor is only available under C++.

void XMUBYTE4( const uint8_t *pArray) noexcept

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

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

Note  This constructor is only available under C++.

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

Initializes a new instance of XMUBYTE4 from four float arguments.

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

Note  This constructor is only available under C++.
 

void XMUBYTE4( const float *pArray) noexcept

Initializes a new instance of XMUBYTE4 from a four element int8_t array argument.

This constructor initializes a new instance of XMUBYTE4 from a four element int8_t array argument.

Note  This constructor is only available under C++.

XMUBYTE4 & operator=( uint32_t Packed) noexcept

Remarks

XMUBYTE4 can be loaded into instances of XMVECTOR by using XMLoadUByte4.

Instances of XMVECTOR can be stored into an instance of XMUBYTE4 with XMStoreUByte4.

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

XMUBYTE4 Extensions