XMUBYTEN2 Structure

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

If you are programming in C++, you can use the constructors and operator methods of this structure.

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

Syntax

struct XMUBYTEN2  

Remarks

The fields in the XMUBYTEN2 structure are declared as follows:

struct XMUBYTEN2
{
    union
    {
        struct
        {
            uint8_t x; // Unsigned 8-bit integer value in the range [0, 255] describing the x-coordinate of the vector.
            uint8_t y; // Unsigned 8-bit integer value in the range [0, 255] describing the y-coordinate of the vector.
        };
        uint16_t v; // Unsigned 16-bit integer representing the 2D vector.
    };  

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

Requirements

Header: Declared in directxpackedvector.h.