# 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.

## In this section

Topic | Description |
---|---|

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

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

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

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

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

A 4D vector with x-,y-, and z- components represented as 10 bit signed integer values, and the w-component as a 2 bit signed integer value. | |

A 4D vector for storing signed, normalized values as 10 bit signed x-,y-, and z- components and a 2 bit signed w-component. | |

A 2D vector consisting of two single-precision floating-point values. | |

Describes an | |

Describes a 3D vector consisting of three single-precision floating-point values. | |

Describes an | |

Describes a 3D vector with X and Y components stored as 11 bit floating point number, and Z component stored as a 10 bit floating-point value. | |

Describes a 3D vector of three floating-point components with 9 bit mantissas, each sharing the same 5-bit exponent. | |

A 3*3 floating point matrix. | |

Describes a 4D vector consisting of four single-precision floating-point values. | |

Describes an | |

A 4*3 floating point matrix. | |

Describes an | |

A 4*4 floating point matrix. | |

Describes an | |

A 2D vector consisting of two half-precision (16bit) floating-point values. | |

Describes a 4D vector consisting of four half-precision (16-bit) floating-point values. | |

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

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

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

Describes a 4*4 matrix aligned on a 16-byte boundary that maps to four hardware vector registers. | |

Describes a 2D vector consisting of 16-bit signed and normalized integer components. | |

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

A 2D vector for storing signed, normalized values as signed 16-bit integers (type
| |

A 4D vector for storing signed, normalized values as signed 16-bit integers, (type | |

A 4D vector with x-,y-, and z- components represented as 5 bit unsigned integer values, and the w-component as a 1 bit integer value. | |

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

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

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

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

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

A 4D vector with x-,y-, and z- components represented as 10 bit unsigned integer values, and the w-component as a 2 bit unsigned integer value. | |

A 4D vector for storing unsigned, normalized integer values as 10 bit unsigned x-, y-, and z-components and a 2-bit unsigned w-component. | |

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

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

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

A 4D vector with four unsigned 4-bit integer components. | |

Describes a 2D vector consisting of 16-bit unsigned integer components. | |

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

A 2D vector for storing unsigned, normalized values as unsigned 16-bit integers, (type
| |

A 4D vector for storing unsigned, normalized values as signed 16-bit integers (type | |

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

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 w-component. |

## Related topics