Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
A 3D 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 XMUBYTEN4 when you are programming in C++, see XMUBYTEN4 Extensions.
Syntax
struct XMUBYTEN4 {
union {
struct {
uint8_t x;
uint8_t y;
uint8_t z;
uint8_t w;
};
uint32_t v;
};
void XMUBYTEN4();
void XMUBYTEN4(
const XMUBYTEN4 & unnamedParam1
);
XMUBYTEN4 & operator=(
const XMUBYTEN4 & unnamedParam1
);
void XMUBYTEN4(
XMUBYTEN4 && unnamedParam1
);
XMUBYTEN4 & operator=(
XMUBYTEN4 && unnamedParam1
);
void XMUBYTEN4(
uint8_t _x,
uint8_t _y,
uint8_t _z,
uint8_t _w
) noexcept;
void XMUBYTEN4(
uint32_t Packed
) noexcept;
void XMUBYTEN4(
const uint8_t *pArray
) noexcept;
void XMUBYTEN4(
float _x,
float _y,
float _z,
float _w
) noexcept;
void XMUBYTEN4(
const float *pArray
) noexcept;
XMUBYTEN4 & 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 integer representing the 4D vector.
Default constructor for XMUBYTEN4
Default constructor for XMUBYTEN4
void XMUBYTEN4( const XMUBYTEN4 & unnamedParam1)
A constructor for XMUBYTEN4
A constructor for XMUBYTEN4
XMUBYTEN4 & operator=( const XMUBYTEN4 & unnamedParam1)
void XMUBYTEN4( XMUBYTEN4 && unnamedParam1)
A constructor for XMUBYTEN4
A constructor for XMUBYTEN4
XMUBYTEN4 & operator=( XMUBYTEN4 && unnamedParam1)
Assigns the vector component data from one instance of XMUBYTEN4 to the current instance of XMUBYTEN4.
This operator assigns the vector component data from one instance of XMUBYTEN4 to the current instance of XMUBYTEN4.
void XMUBYTEN4( uint8_t _x, uint8_t _y, uint8_t _z, uint8_t _w) noexcept
Initializes a new instance of XMUBYTEN4 from four uint8_t arguments.
This constructor initializes a new instance of XMUBYTEN4
from a
four uint8_t arguments.
void XMUBYTEN4( uint32_t Packed) noexcept
Initializes a new instance of XMUBYTEN4 from a uint32_t variable containing component data in a packed format.
This constructor initializes a new instance of XMUBYTEN4
from a
uint32_t variable containing component data in a packed format.
void XMUBYTEN4( const uint8_t *pArray) noexcept
Initializes a new instance of XMUBYTEN4 from a four element uint8_t array argument.
This constructor initializes a new instance of XMUBYTEN4 from a four element uint8_t array argument.
void XMUBYTEN4( float _x, float _y, float _z, float _w) noexcept
Initializes a new instance of XMUBYTEN4 from four float arguments.
This constructor initializes a new instance of XMUBYTEN4
from four
float arguments.
void XMUBYTEN4( const float *pArray) noexcept
Initializes a new instance of XMUBYTEN4 from a four element float array argument.
This constructor initializes a new instance of XMUBYTEN4 from a from a four element float array argument.
XMUBYTEN4 & operator=( uint32_t Packed) noexcept
Remarks
Those XMUBYTEN4 constructors using floating point arguments require normalized input,
which must be in the range of [0.0.-1.0]. During instantiation, these data are
multiplied by 255.0f, results are rounded, and then
assigned to the appropriate members of XMUBYTEN4.
XMUBYTEN4 can be used to load instances of XMVECTOR from
normalized values, by using XMLoadUByteN4, 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 XMUBYTEN4 using XMStoreUByteN4, which multiplies each component by 255.0f,
rounding the result, before assigning the values to the appropriate XMUBYTEN4 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 |