DirectXMath Library Structures
Describes the DirectXMath Library types and structures.
The DirectXMath Library provides a number of structures and defined types to encapsulate data to support ease of use, optimization, and portability. The following list includes structures currently part of the DirectXMath Library. They are available through DirectXMath.h.
 XMBYTE2

A 2D vector where each component is a signed integer, 8bits (1 byte) in length.
 XMBYTE4

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

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

A 3D vector for storing signed, normalized values as signed 8bits (1 byte) integers.
 XMCOLOR

A 32bit Alpha Red Green Blue (ARGB) color vector, where each color channel is specified as an unsigned 8 bit integer.
 XMDEC4

A 4D vector with x,y, and z components represented as 10 bit signed integer values, and the wcomponent as a 2 bit signed integer value.
 XMDECN4

A 4D vector for storing signed, normalized values as 10 bit signed x,y, and z components and a 2 bit signed wcomponent.
 XMFLOAT2

A 2D vector consisting of two singleprecision floatingpoint values.
 XMFLOAT2A

An XMFLOAT2 structure aligned on a 16byte boundary.
 XMFLOAT3

A 3D vector consisting of three singleprecision floatingpoint values.
 XMFLOAT3A

An XMFLOAT3 structure aligned on a 16byte boundary.
 XMFLOAT3PK

A 3D vector with X and Y components stored as 11 bit floating point number, and Z component stored as a 10 bit floatingpoint value.
 XMFLOAT3SE

A 3D vector of three floatingpoint components with 9 bit mantissas, each sharing the same 5bit exponent.
 XMFLOAT3X3

A 3×3 floating point matrix.
 XMFLOAT4

A 4D vector consisting of four singleprecision floatingpoint values.
 XMFLOAT4A

An XMFLOAT4 structure aligned on a 16byte boundary.
 XMFLOAT4X3

A 4×3 floating point matrix.
 XMFLOAT4X3A

An XMFLOAT4X3 structure aligned on a 16byte boundary.
 XMFLOAT4X4

A 4×4 floating point matrix.
 XMFLOAT4X4A

An XMFLOAT4X4 structure aligned on a 16byte boundary.
 XMHALF2

A 2D vector consisting of two halfprecision (16bit) floatingpoint values.
 XMHALF4

A 4D vector consisting of four halfprecision (16bit) floatingpoint values.
 XMINT2

A 2D vector where each component is a signed integer.
 XMINT3

A 3D vector where each component is a signed integer.
 XMINT4

A 4D vector where each component is a signed integer.
 XMMATRIX

A 4×4 matrix aligned on a 16byte boundary that maps to four hardware vector registers.
 XMSHORT2

A 2D vector consisting of 16bit signed and normalized integer components.
 XMSHORT4

A 4D vector consisting of 16bit signed integer components.
 XMSHORTN2

A 2D vector for storing signed, normalized values as signed 16bit integers (type int16_t).
 XMSHORTN4

A 4D vector for storing signed, normalized values as signed 16bit integers, (type int16_t).
 XMU555

A 4D vector with x,y, and z components represented as 5 bit unsigned integer values, and the wcomponent as a 1 bit integer value.
 XMU565

A 3D vector with x and z components represented as 5bit unsigned integer values, and the y component as a 6bit unsigned integer value.
 XMUBYTE2

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

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

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

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

A 4D vector with x,y, and z components represented as 10 bit unsigned integer values, and the wcomponent as a 2 bit unsigned integer value.
 XMUDECN4

A 4D vector for storing unsigned, normalized integer values as 10 bit unsigned x, y, and zcomponents and a 2bit unsigned wcomponent.
 XMUINT2

A 2D vector where each component is an unsigned integer.
 XMUINT3

A 3D vector where each component is an unsigned integer.
 XMUINT4

A 4D vector where each component is an unsigned integer.
 XMUNIBBLE4

A 4D vector with four unsigned 4bit integer components.
 XMUSHORT2

A 2D vector consisting of 16bit unsigned integer components.
 XMUSHORT4

A 4D vector consisting of 16bit unsigned integer components.
 XMUSHORTN2

A 2D vector for storing unsigned, normalized values as unsigned 16bit integers, (type uint16_t).
 XMUSHORTN4

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

A 4D vector with x,y, and z components represented as 10 bit signed integer values, and the wcomponent as a 2 bit unsigned integer value.
 XMXDECN4

A 4D vector for storing signed, normalized values as 10 bit signed x,y, and z components and an unsigned, normalized value as 2 bit unsigned wcomponent.