directxmath.h header

This header is used by DirectXMath. For more information, see:

directxmath.h contains the following programming interfaces:

Functions

 
NA:directxmath::operator-

Computes the negation of an XMVECTOR instance.
NA:directxmath::operator-

Subtracts one instance of XMVECTOR from a second instance, returning the result in a new instance of XMVECTOR.
NA:directxmath::operator*

Multiplies one instance of XMVECTOR by a second instance, returning the result in a third instance.
NA:directxmath::operator*

Multiply an instance of XMVECTOR by a floating point value, returning the result a new instance of XMVECTOR.
NA:directxmath::operator*

Multiply a floating point value by an instance of XMVECTOR, returning the result a new instance of XMVECTOR.
NA:directxmath::operator*=

Multiplies one XMVECTOR instance by a second instance, returning a reference to the updated initial instance.
NA:directxmath::operator*=

Multiplies an XMVECTOR instance by a floating point value and returns a reference to the updated instance.
NA:directxmath::operator/

Divides one instance of XMVECTOR by a second instance, returning the result in a third instance.o
NA:directxmath::operator/

Divides an XMVECTOR instance by a floating point value, returning the result a new instance of XMVECTOR.
NA:directxmath::operator/=

Divides one XMVECTOR instance by a second instance, returning a reference to the updated initial instance.
NA:directxmath::operator/=

Divides an XMVECTOR instance by a floating point value and returns a reference to the updated instance.
NA:directxmath::operator+

Performance an identity operation on an XMVECTOR instance.
NA:directxmath::operator+

Adds two instances of XMVECTOR, returning the result in a new instance.
NA:directxmath::operator+=

Adds a floating point value to an XMVECTOR instance, and returns a reference to the updated instance.
NA:directxmath::operator-=

Subtracts a floating point value from the current instance of XMVECTOR, returning the result in the updated current instance.
XMColorAdjustContrast

Adjusts the contrast value of a color.
XMColorAdjustSaturation

Adjusts the saturation value of a color.
XMColorEqual

Tests for the equality of two colors.
XMColorGreater

Tests whether all the components of the first color are greater than the corresponding components in the second color.
XMColorGreaterOrEqual

Tests whether all the components of the first color are greater than or equal to the corresponding components of the second color.
XMColorHSLToRGB

Converts HSL color values to RGB color values.
XMColorHSVToRGB

Converts HSV color values to RGB color values.
XMColorIsInfinite

Tests to see whether any of the components of a color are either positive or negative infinity.
XMColorIsNaN

Tests to see whether any component of a color is not a number (NaN).
XMColorLess

Tests whether all the components of the first color are less than the corresponding components of the second color.
XMColorLessOrEqual

Tests whether all the components of the first color are less than or equal to the corresponding components of the second color.
XMColorModulate

Blends two colors by multiplying corresponding components together.
XMColorNegative

Determines the negative RGB color value of a color.
XMColorNotEqual

Tests to see whether two colors are unequal.
XMColorRGBToHSL

Converts RGB color values to HSL color values.
XMColorRGBToHSV

Converts RGB color values to HSV color values.
XMColorRGBToSRGB

Converts an RGB color vector to sRGB.
XMColorRGBToXYZ

Converts RGB color values to XYZ color values.
XMColorRGBToYUV

Converts RGB color values to YUV color values.
XMColorRGBToYUV_HD

Converts RGB color values to YUV HD color values.
XMColorRGBToYUV_UHD

Converts RGB color values to YUV UHD color values.
XMColorSRGBToRGB

Converts an sRGB color vector to RGB.
XMColorSRGBToXYZ

Converts SRGB color values to XYZ color values.
XMColorXYZToRGB

Converts XYZ color values to RGB color values.
XMColorXYZToSRGB

Converts XYZ color values to SRGB color values.
XMColorYUVToRGB

Converts YUV color values to RGB color values.
XMColorYUVToRGB_HD

Converts YUV color values to RGB HD color values.
XMColorYUVToRGB_UHD

Converts YUV color values to RGB UHD color values.
XMComparisonAllFalse

Tests the comparison value to determine if all of the compared components are false.
XMComparisonAllInBounds

Tests the comparison value to determine if all of the compared components are within set bounds.
XMComparisonAllTrue

Tests the comparison value to determine if all of the compared components are true.
XMComparisonAnyFalse

Tests the comparison value to determine if any of the compared components are false.
XMComparisonAnyOutOfBounds

Tests the comparison value to determine if any of the compared components are outside the set bounds.
XMComparisonAnyTrue

Tests the comparison value to determine if any of the compared components are true.
XMComparisonMixed

Tests the comparison value to determine if the compared components had mixed results--some true and some false.
XMConvertToDegrees

Converts an angle measured in radians into one measured in degrees.
XMConvertToRadians

Converts an angle measured in degrees into one measured in radians.
XMConvertVectorFloatToInt

Converts an XMVECTOR with float components to an XMVECTOR with int32_t components and applies a uniform bias.
XMConvertVectorFloatToUInt

Converts an XMVECTOR with float components to an XMVECTOR with uint32_t components and applies a uniform bias.
XMConvertVectorIntToFloat

Converts an XMVECTOR with int32_t components to an XMVECTOR with float components and applies a uniform bias.
XMConvertVectorUIntToFloat

Converts an XMVECTOR with uint32_t components to an XMVECTOR with float components and applies a uniform bias.
XMFresnelTerm

Calculates the Fresnel term for unpolarized light.
XMLoadFloat

Loads a floating-point scalar value into an XMVECTOR.
XMLoadFloat2

Loads an XMFLOAT2 into an XMVECTOR.
XMLoadFloat2A

Loads an XMFLOAT2A into an XMVECTOR.
XMLoadFloat3

Loads an XMFLOAT3 into an XMVECTOR.
XMLoadFloat3A

Loads an XMFLOAT3A into an XMVECTOR.
XMLoadFloat3x3

Loads an XMFLOAT3X3 into an XMMATRIX.
XMLoadFloat3x4

Loads an XMFLOAT3X4 into an XMMATRIX.
XMLoadFloat3x4A

Loads an XMFLOAT3X4A into an XMMATRIX.
XMLoadFloat4

Loads an XMFLOAT4 into an XMVECTOR.
XMLoadFloat4A

Loads an XMFLOAT4A into an XMVECTOR.
XMLoadFloat4x3

Loads an XMFLOAT4X3 into an XMMATRIX.
XMLoadFloat4x3A

Loads an XMFLOAT4X3A into an XMVECTOR.
XMLoadFloat4x4

Loads an XMFLOAT4X4 into an XMMATRIX.
XMLoadFloat4x4A

Loads an XMFLOAT4X4A into an XMVECTOR.
XMLoadInt

Loads a scalar value into an XMVECTOR.
XMLoadInt2

Loads data into the x and y components of an XMVECTOR.
XMLoadInt2A

Loads 16-byte aligned data into the x and y components of an XMVECTOR.
XMLoadInt3

Loads data into the x, y, and z components of an XMVECTOR, without type checking.
XMLoadInt3A

Loads 16-byte aligned data into the x, y, and z components of an XMVECTOR, without type checking.
XMLoadInt4

Loads data into an XMVECTOR, without type checking.
XMLoadInt4A

Loads 16-byte aligned data into an XMVECTOR, without type checking.
XMLoadSInt2

Loads signed integer data into the x and y components of an XMVECTOR.
XMLoadSInt3

Loads signed integer data into the x, y, and z components of an XMVECTOR.
XMLoadSInt4

Loads signed integer data into an XMVECTOR.
XMLoadUInt2

Loads unsigned integer data into the x and y components of an XMVECTOR.
XMLoadUInt3

Loads unsigned integer data into the x, y, and z components of an XMVECTOR, without type checking.
XMLoadUInt4

Loads unsigned integer data into an XMVECTOR.
XMMatrixAffineTransformation

Builds an affine transformation matrix.
XMMatrixAffineTransformation2D

Builds a 2D affine transformation matrix in the xy plane.
XMMatrixDecompose

Breaks down a general 3D transformation matrix into its scalar, rotational, and translational components.
XMMatrixDeterminant

Computes the determinant of a matrix.
XMMatrixIdentity

Builds the identity matrix.
XMMatrixInverse

Computes the inverse of a matrix.
XMMatrixIsIdentity

Tests whether a matrix is the identity matrix.
XMMatrixIsInfinite

Tests whether any of the elements of a matrix are positive or negative infinity.
XMMatrixIsNaN

Tests whether any of the elements of a matrix are NaN.
XMMatrixLookAtLH

Builds a view matrix for a left-handed coordinate system using a camera position, an up direction, and a focal point.
XMMatrixLookAtRH

Builds a view matrix for a right-handed coordinate system using a camera position, an up direction, and a focal point.
XMMatrixLookToLH

Builds a view matrix for a left-handed coordinate system using a camera position, an up direction, and a camera direction.
XMMatrixLookToRH

Builds a view matrix for a right-handed coordinate system using a camera position, an up direction, and a camera direction.
XMMatrixMultiply

Computes the product of two matrices.
XMMatrixMultiplyTranspose

Computes the transpose of the product of two matrices.
XMMatrixOrthographicLH

Builds an orthogonal projection matrix for a left-handed coordinate system.
XMMatrixOrthographicOffCenterLH

Builds a custom orthogonal projection matrix for a left-handed coordinate system.
XMMatrixOrthographicOffCenterRH

Builds a custom orthogonal projection matrix for a right-handed coordinate system.
XMMatrixOrthographicRH

Builds an orthogonal projection matrix for a right-handed coordinate system.
XMMatrixPerspectiveFovLH

Builds a left-handed perspective projection matrix based on a field of view.
XMMatrixPerspectiveFovRH

Builds a right-handed perspective projection matrix based on a field of view.
XMMatrixPerspectiveLH

Builds a left-handed perspective projection matrix.
XMMatrixPerspectiveOffCenterLH

Builds a custom version of a left-handed perspective projection matrix.
XMMatrixPerspectiveOffCenterRH

Builds a custom version of a right-handed perspective projection matrix.
XMMatrixPerspectiveRH

Builds a right-handed perspective projection matrix.
XMMatrixReflect

Builds a transformation matrix designed to reflect vectors through a given plane.
XMMatrixRotationAxis

Builds a matrix that rotates around an arbitrary axis.
XMMatrixRotationNormal

Builds a matrix that rotates around an arbitrary normal vector.
XMMatrixRotationQuaternion

Builds a rotation matrix from a quaternion.
XMMatrixRotationRollPitchYaw

Builds a rotation matrix based on a given pitch, yaw, and roll (Euler angles).
XMMatrixRotationRollPitchYawFromVector

Builds a rotation matrix based on a vector containing the Euler angles (pitch, yaw, and roll).
XMMatrixRotationX

Builds a matrix that rotates around the x-axis.
XMMatrixRotationY

Builds a matrix that rotates around the y-axis.
XMMatrixRotationZ

Builds a matrix that rotates around the z-axis.
XMMatrixScaling

Builds a matrix that scales along the x-axis, y-axis, and z-axis.
XMMatrixScalingFromVector

Builds a scaling matrix from a 3D vector.
XMMatrixSet

Creates a matrix with float values.
XMMatrixShadow

Builds a transformation matrix that flattens geometry into a plane.
XMMatrixTransformation

Builds a transformation matrix.
XMMatrixTransformation2D

Builds a 2D transformation matrix in the xy plane.
XMMatrixTranslation

Builds a translation matrix from the specified offsets.
XMMatrixTranslationFromVector

Builds a translation matrix from a vector.
XMMatrixTranspose

Computes the transpose of a matrix.
XMMatrixVectorTensorProduct

Builds an matrix from two vectors
XMPlaneDot

Calculates the dot product between an input plane and a 4D vector.
XMPlaneDotCoord

Calculates the dot product between an input plane and a 3D vector.
XMPlaneDotNormal

Calculates the dot product between the normal vector of a plane and a 3D vector.
XMPlaneEqual

Determines if two planes are equal.
XMPlaneFromPointNormal

Computes the equation of a plane constructed from a point in the plane and a normal vector.
XMPlaneFromPoints

Computes the equation of a plane constructed from three points in the plane.
XMPlaneIntersectLine

Finds the intersection between a plane and a line.
XMPlaneIntersectPlane

Finds the intersection of two planes.
XMPlaneIsInfinite

Tests whether any of the coefficients of a plane is positive or negative infinity.
XMPlaneIsNaN

Tests whether any of the coefficients of a plane is a NaN.
XMPlaneNearEqual

Determines whether two planes are nearly equal.
XMPlaneNormalize

Normalizes the coefficients of a plane so that coefficients of x, y, and z form a unit normal vector.
XMPlaneNormalizeEst

Estimates the coefficients of a plane so that coefficients of x, y, and z form a unit normal vector.
XMPlaneNotEqual

Determines if two planes are unequal.
XMPlaneTransform

Transforms a plane by a given matrix.
XMPlaneTransformStream

Transforms a stream of planes by a given matrix.
XMQuaternionBaryCentric

Returns a point in barycentric coordinates, using the specified quaternions. (XMQuaternionBaryCentric)
XMQuaternionBaryCentricV

Returns a point in barycentric coordinates, using the specified quaternions. (XMQuaternionBaryCentricV)
XMQuaternionConjugate

Computes the conjugate of a quaternion.
XMQuaternionDot

Computes the dot product of two quaternions.
XMQuaternionEqual

Tests whether two quaternions are equal.
XMQuaternionExp

Computes the exponential of a given pure quaternion.
XMQuaternionIdentity

Returns the identity quaternion.
XMQuaternionInverse

Computes the inverse of a quaternion.
XMQuaternionIsIdentity

Tests whether a specific quaternion is the identity quaternion.
XMQuaternionIsInfinite

Test whether any component of a quaternion is either positive or negative infinity.
XMQuaternionIsNaN

Test whether any component of a quaternion is a NaN.
XMQuaternionLength

Computes the magnitude of a quaternion.
XMQuaternionLengthSq

Computes the square of the magnitude of a quaternion.
XMQuaternionLn

Computes the natural logarithm of a given unit quaternion.
XMQuaternionMultiply

Computes the product of two quaternions.
XMQuaternionNormalize

Normalizes a quaternion.
XMQuaternionNormalizeEst

Estimates the normalized version of a quaternion.
XMQuaternionNotEqual

Tests whether two quaternions are not equal.
XMQuaternionReciprocalLength

Computes the reciprocal of the magnitude of a quaternion.
XMQuaternionRotationAxis

Computes a rotation quaternion about an axis.
XMQuaternionRotationMatrix

Computes a rotation quaternion from a rotation matrix.
XMQuaternionRotationNormal

Computes the rotation quaternion about a normal vector.
XMQuaternionRotationRollPitchYaw

Computes a rotation quaternion based on the pitch, yaw, and roll (Euler angles).
XMQuaternionRotationRollPitchYawFromVector

Computes a rotation quaternion based on a vector containing the Euler angles (pitch, yaw, and roll).
XMQuaternionSlerp

Interpolates between two unit quaternions, using spherical linear interpolation. (XMQuaternionSlerp)
XMQuaternionSlerpV

Interpolates between two unit quaternions, using spherical linear interpolation. (XMQuaternionSlerpV)
XMQuaternionSquad

Interpolates between four unit quaternions, using spherical quadrangle interpolation. (XMQuaternionSquad)
XMQuaternionSquadSetup

Provides addresses of setup control points for spherical quadrangle interpolation.
XMQuaternionSquadV

Interpolates between four unit quaternions, using spherical quadrangle interpolation. (XMQuaternionSquadV)
XMQuaternionToAxisAngle

Computes an axis and angle of rotation about that axis for a given quaternion.
XMScalarACos

Computes the arccosine of a floating-point number.
XMScalarACosEst

Estimates the arccosine of a floating-point number.
XMScalarASin

Computes the arcsine of a floating-point number.
XMScalarASinEst

Estimates the arcsine of a floating-point number.
XMScalarCos

Computes the cosine of a radian angle.
XMScalarCosEst

Estimates the cosine of a radian angle.
XMScalarModAngle

Computes an angle between -XM_PI and XM_PI.
XMScalarNearEqual

Determines if two floating-point values are nearly equal.
XMScalarSin

Computes the sine of a radian angle.
XMScalarSinCos

Computes both the sine and cosine of a radian angle.
XMScalarSinCosEst

Estimates both the sine and cosine of a radian angle.
XMScalarSinEst

Estimates the sine of a radian angle.
XMStoreFloat

Stores an XMVECTOR in a float.
XMStoreFloat2

Stores an XMVECTOR in an XMFLOAT2.
XMStoreFloat2A

Stores an XMVECTOR in an XMFLOAT2A.
XMStoreFloat3

Stores an XMVECTOR in an XMFLOAT3.
XMStoreFloat3A

Stores an XMVECTOR in an XMFLOAT3A.
XMStoreFloat3x3

Stores an XMMATRIX in an XMFLOAT3X3.
XMStoreFloat3x4

Stores an XMMATRIX in an XMFLOAT3X4.
XMStoreFloat3x4A

Stores an XMMATRIX in an XMFLOAT3X4A.
XMStoreFloat4

Stores an XMVECTOR in an XMFLOAT4.
XMStoreFloat4A

Stores an XMVECTOR in an XMFLOAT4A.
XMStoreFloat4x3

Stores an XMMATRIX in an XMFLOAT4X3.
XMStoreFloat4x3A

Stores an XMVECTOR in an XMFLOAT4X3A.
XMStoreFloat4x4

Stores an XMMATRIX in an XMFLOAT4X4.
XMStoreFloat4x4A

Stores an XMVECTOR in an XMFLOAT4X4A.
XMStoreInt

Stores an XMVECTOR in a uint32_t.
XMStoreInt2

Stores an XMVECTOR in a 2-element uint32_t array.
XMStoreInt2A

Stores an XMVECTOR in a 16-byte aligned 2 element uint32_t array.
XMStoreInt3

Stores an XMVECTOR in a 3-element uint32_t array.
XMStoreInt3A

Stores an XMVECTOR in a 16-byte aligned 3 element uint32_t array.
XMStoreInt4

Stores an XMVECTOR in a 4-element uint32_t array.
XMStoreInt4A

Stores an XMVECTOR in a 16-byte aligned 4 element uint32_t array.
XMStoreSInt2

Stores signed integer data from an XMVECTOR in an XMINT2 structure.
XMStoreSInt3

Stores signed integer data from an XMVECTOR in an XMINT3 structure.
XMStoreSInt4

Stores signed integer data from an XMVECTOR in an XMINT4 structure.
XMStoreUInt2

Stores unsigned integer data from an XMVECTOR in an XMUINT2 structure.
XMStoreUInt3

Stores unsigned integer data from an XMVECTOR in an XMUINT3 structure.
XMStoreUInt4

Stores unsigned integer data from an XMVECTOR in an XMUINT4 structure.
XMVector2AngleBetweenNormals

Computes the radian angle between two normalized 2D vectors.
XMVector2AngleBetweenNormalsEst

Estimates the radian angle between two normalized 2D vectors.
XMVector2AngleBetweenVectors

Computes the radian angle between two 2D vectors.
XMVector2ClampLength

Clamps the length of a 2D vector to a given range. (XMVector2ClampLength)
XMVector2ClampLengthV

Clamps the length of a 2D vector to a given range. (XMVector2ClampLengthV)
XMVector2Cross

Computes the 2D cross product.
XMVector2Dot

Computes the dot product between 2D vectors.
XMVector2Equal

Tests whether two 2D vectors are equal.
XMVector2EqualInt

Tests whether two 2D vectors are equal, treating each component as an unsigned integer.
XMVector2EqualIntR

Tests whether two 2D vectors are equal, treating each component as an unsigned integer. In addition, this function returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector2EqualR

Tests whether two 2D vectors are equal. In addition, this function returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector2Greater

Tests whether one 2D vector is greater than another 2D vector.
XMVector2GreaterOrEqual

Tests whether one 2D vector is greater-than-or-equal-to another 2D vector.
XMVector2GreaterOrEqualR

Tests whether one 2D vector is greater-than-or-equal-to another 2D vector and returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector2GreaterR

Tests whether one 2D vector is greater than another 2D vector and returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector2InBounds

Tests whether the components of a 2D vector are within set bounds.
XMVector2IntersectLine

Finds the intersection of two lines.
XMVector2IsInfinite

Tests whether any component of a 2D vector is positive or negative infinity.
XMVector2IsNaN

Tests whether any component of a 2D vector is a NaN.
XMVector2Length

Computes the length of a 2D vector.
XMVector2LengthEst

Estimates the length of a 2D vector.
XMVector2LengthSq

Computes the square of the length of a 2D vector.
XMVector2Less

Tests whether one 2D vector is less than another 2D vector.
XMVector2LessOrEqual

Tests whether one 2D vector is less-than-or-equal-to another 2D vector.
XMVector2LinePointDistance

Computes the minimum distance between a line and a point. (XMVector2LinePointDistance)
XMVector2NearEqual

Tests whether one 2D vector is near another 2D vector.
XMVector2Normalize

Returns the normalized version of a 2D vector.
XMVector2NormalizeEst

Estimates the normalized version of a 2D vector.
XMVector2NotEqual

Tests whether two 2D vectors are not equal.
XMVector2NotEqualInt

Test whether two vectors are not equal, treating each component as an unsigned integer.
XMVector2Orthogonal

Computes a vector perpendicular to a 2D vector.
XMVector2ReciprocalLength

Computes the reciprocal of the length of a 2D vector.
XMVector2ReciprocalLengthEst

Estimates the reciprocal of the length of a 2D vector.
XMVector2Reflect

Reflects an incident 2D vector across a 2D normal vector.
XMVector2Refract

Refracts an incident 2D vector across a 2D normal vector. (XMVector2Refract)
XMVector2RefractV

Refracts an incident 2D vector across a 2D normal vector. (XMVector2RefractV)
XMVector2Transform

Transforms a 2D vector by a matrix.
XMVector2TransformCoord

Transforms a 2D vector by a given matrix, projecting the result back into w = 1.
XMVector2TransformCoordStream

Transforms a stream of 2D vectors by a given matrix, projecting the resulting vectors such that their w coordinates are equal to 1.0.
XMVector2TransformNormal

Transforms the 2D vector normal by the given matrix.
XMVector2TransformNormalStream

Transforms a stream of 2D normal vectors by a given matrix.
XMVector2TransformStream

Transforms a stream of 2D vectors by a given matrix.
XMVector3AngleBetweenNormals

Computes the radian angle between two normalized 3D vectors.
XMVector3AngleBetweenNormalsEst

Estimates the radian angle between two normalized 3D vectors.
XMVector3AngleBetweenVectors

Computes the radian angle between two 3D vectors.
XMVector3ClampLength

Clamps the length of a 3D vector to a given range. (XMVector3ClampLength)
XMVector3ClampLengthV

Clamps the length of a 3D vector to a given range. (XMVector3ClampLengthV)
XMVector3ComponentsFromNormal

Using a reference normal vector, splits a 3D vector into components that are parallel and perpendicular to the normal.
XMVector3Cross

Computes the cross product between two 3D vectors.
XMVector3Dot

Computes the dot product between 3D vectors.
XMVector3Equal

Tests whether two 3D vectors are equal.
XMVector3EqualInt

Tests whether two 3D vectors are equal, treating each component as an unsigned integer.
XMVector3EqualIntR

Tests whether two 3D vectors are equal, treating each component as an unsigned integer. In addition, this function returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector3EqualR

Tests whether two 3D vectors are equal. In addition, this function returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector3Greater

Tests whether one 3D vector is greater than another 3D vector.
XMVector3GreaterOrEqual

Tests whether one 3D vector is greater-than-or-equal-to another 3D vector.
XMVector3GreaterOrEqualR

Tests whether one 3D vector is greater-than-or-equal-to another 3D vector and returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector3GreaterR

Tests whether one 3D vector is greater than another 3D vector and returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector3InBounds

Tests whether the components of a 3D vector are within set bounds.
XMVector3InverseRotate

Rotates a 3D vector using the inverse of a quaternion.
XMVector3IsInfinite

Tests whether any component of a 3D vector is positive or negative infinity.
XMVector3IsNaN

Tests whether any component of a 3D vector is a NaN.
XMVector3Length

Computes the length of a 3D vector.
XMVector3LengthEst

Estimates the length of a 3D vector.
XMVector3LengthSq

Computes the square of the length of a 3D vector.
XMVector3Less

Tests whether one 3D vector is less than another 3D vector.
XMVector3LessOrEqual

Tests whether one 3D vector is less-than-or-equal-to another 3D vector.
XMVector3LinePointDistance

Computes the minimum distance between a line and a point. (XMVector3LinePointDistance)
XMVector3NearEqual

Tests whether one 3D vector is near another 3D vector.
XMVector3Normalize

Returns the normalized version of a 3D vector.
XMVector3NormalizeEst

Estimates the normalized version of a 3D vector.
XMVector3NotEqual

Tests whether two 3D vectors are not equal.
XMVector3NotEqualInt

Test whether two 3D vectors are not equal, treating each component as an unsigned integer.
XMVector3Orthogonal

Computes a vector perpendicular to a 3D vector.
XMVector3Project

Project a 3D vector from object space into screen space.
XMVector3ProjectStream

Projects a stream of 3D vectors from object space into screen space.
XMVector3ReciprocalLength

Computes the reciprocal of the length of a 3D vector.
XMVector3ReciprocalLengthEst

Estimates the reciprocal of the length of a 3D vector.
XMVector3Reflect

Reflects an incident 3D vector across a 3D normal vector.
XMVector3Refract

Refracts an incident 3D vector across a 3D normal vector. (XMVector3Refract)
XMVector3RefractV

Refracts an incident 3D vector across a 3D normal vector. (XMVector3RefractV)
XMVector3Rotate

Rotates a 3D vector using a quaternion.
XMVector3Transform

Transforms a 3D vector by a matrix.
XMVector3TransformCoord

Transforms a 3D vector by a given matrix, projecting the result back into w = 1.
XMVector3TransformCoordStream

Transforms a stream of 3D vectors by a given matrix, projecting the resulting vectors such that their w coordinates are equal to 1.0.
XMVector3TransformNormal

Transforms the 3D vector normal by the given matrix.
XMVector3TransformNormalStream

Transforms a stream of 3D normal vectors by a given matrix.
XMVector3TransformStream

Transforms a stream of 3D vectors by a given matrix.
XMVector3Unproject

Projects a 3D vector from screen space into object space.
XMVector3UnprojectStream

Transforms a stream of 3D vectors from screen space to object space.
XMVector4AngleBetweenNormals

Compute the radian angle between two normalized 4D vectors.
XMVector4AngleBetweenNormalsEst

Estimates the radian angle between two normalized 4D vectors.
XMVector4AngleBetweenVectors

Compute the radian angle between two 4D vectors.
XMVector4ClampLength

Clamps the length of a 4D vector to a given range. (XMVector4ClampLength)
XMVector4ClampLengthV

Clamps the length of a 4D vector to a given range. (XMVector4ClampLengthV)
XMVector4Cross

Computes the 4D cross product.
XMVector4Dot

Computes the dot product between 4D vectors.
XMVector4Equal

Tests whether two 4D vectors are equal.
XMVector4EqualInt

Tests whether two 4D vectors are equal, treating each component as an unsigned integer.
XMVector4EqualIntR

Tests whether two 4D vectors are equal, treating each component as an unsigned integer. In addition, this function returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector4EqualR

Tests whether two 4D vectors are equal. In addition, this function returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector4Greater

Tests whether one 4D vector is greater than another 4D vector.
XMVector4GreaterOrEqual

Tests whether one 4D vector is greater-than-or-equal-to another 4D vector.
XMVector4GreaterOrEqualR

Tests whether one 4D vector is greater-than-or-equal-to another 4D vector and returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector4GreaterR

Tests whether one 4D vector is greater than another 4D vector and returns a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVector4InBounds

Tests whether the components of a 4D vector are within set bounds.
XMVector4IsInfinite

Tests whether any component of a 4D vector is positive or negative infinity.
XMVector4IsNaN

Tests whether any component of a 4D vector is a NaN.
XMVector4Length

Computes the length of a 4D vector.
XMVector4LengthEst

Estimates the length of a 4D vector.
XMVector4LengthSq

Computes the square of the length of a 4D vector.
XMVector4Less

Tests whether one 4D vector is less than another 4D vector.
XMVector4LessOrEqual

Tests whether one 4D vector is less-than-or-equal-to another 4D vector.
XMVector4NearEqual

Tests whether one 4D vector is near another 4D vector.
XMVector4Normalize

Returns the normalized version of a 4D vector.
XMVector4NormalizeEst

Estimates the normalized version of a 4D vector.
XMVector4NotEqual

Tests whether two 4D vectors are not equal.
XMVector4NotEqualInt

Test whether two 4D vectors are not equal, treating each component as an unsigned integer.
XMVector4Orthogonal

Computes a vector perpendicular to a 4D vector.
XMVector4ReciprocalLength

Computes the reciprocal of the length of a 4D vector.
XMVector4ReciprocalLengthEst

Estimates the reciprocal of the length of a 4D vector.
XMVector4Reflect

Reflects an incident 4D vector across a 4D normal vector.
XMVector4Refract

Refracts an incident 4D vector across a 4D normal vector. (XMVector4Refract)
XMVector4RefractV

Refracts an incident 4D vector across a 4D normal vector. (XMVector4RefractV)
XMVector4Transform

Transforms a 4D vector by a matrix.
XMVector4TransformStream

Transforms a stream of 4D vectors by a given matrix.
XMVectorAbs

Computes the absolute value of each component of an XMVECTOR.
XMVectorACos

Computes the arccosine of each component of an XMVECTOR.
XMVectorACosEst

Estimates the arccosine of each component of an XMVECTOR.
XMVectorAdd

Computes the sum of two vectors.
XMVectorAddAngles

Adds two vectors representing angles.
XMVectorAndCInt

Computes the logical AND of one vector with the negation of a second vector, treating each component as an unsigned integer.
XMVectorAndInt

Computes the logical AND of two vectors, treating each component as an unsigned integer.
XMVectorASin

Computes the arcsine of each component of an XMVECTOR.
XMVectorASinEst

Estimates the arcsine of each component of an XMVECTOR.
XMVectorATan

Computes the arctangent of each component of an XMVECTOR.
XMVectorATan2

Computes the arctangent of Y/X.
XMVectorATan2Est

Estimates the arctangent of Y/X.
XMVectorATanEst

Estimates the arctangent of each component of an XMVECTOR.
XMVectorBaryCentric

Returns a point in Barycentric coordinates, using the specified position vectors. (XMVectorBaryCentric)
XMVectorBaryCentricV

Returns a point in Barycentric coordinates, using the specified position vectors. (XMVectorBaryCentricV)
XMVectorCatmullRom

Performs a Catmull-Rom interpolation, using the specified position vectors. (XMVectorCatmullRom)
XMVectorCatmullRomV

Performs a Catmull-Rom interpolation, using the specified position vectors. (XMVectorCatmullRomV)
XMVectorCeiling

Computes the ceiling of each component of an XMVECTOR.
XMVectorClamp

Clamps the components of a vector to a specified minimum and maximum range.
XMVectorCos

Computes the cosine of each component of an XMVECTOR.
XMVectorCosEst

Estimates the cosine of each component of an XMVECTOR.
XMVectorCosH

Computes the hyperbolic cosine of each component of an XMVECTOR.
XMVectorDivide

Divides one instance of XMVECTOR by a second instance, returning the result in a third instance. (XMVectorDivide)
XMVectorEqual

Performs a per-component test for equality of two vectors.
XMVectorEqualInt

Performs a per-component test for the equality of two vectors, treating each component as an unsigned integer.
XMVectorEqualIntR

Performs a per-component test for equality of two vectors, treating each component as an unsigned integer. In addition, this function sets a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVectorEqualR

Performs a per-component test for equality of two vectors and sets a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVectorExp

Computes two raised to the power for each component.Note  This function is a compatibility alias for XMVectorExp2 for existing Windows 8 code. This function is deprecated for Windows 8.1. Don't use it and instead use XMVectorExp2 or XMVectorExpE.  .
XMVectorExp10

Computes ten raised to the power for each component.
XMVectorExp2

Computes two raised to the power for each component.
XMVectorExpE

Computes e (~2.71828) raised to the power for each component.
XMVectorFalseInt

Returns the zero (false) vector.
XMVectorFloor

Computes the floor of each component of an XMVECTOR.
XMVectorGetByIndex

Retrieve the value of one of the four components of an XMVECTOR Data Type containing floating-point data by index.
XMVectorGetByIndexPtr

Retrieve, into an instance of a floating-point referenced by pointer, the value of one of the four components of an XMVECTOR Data Type containing floating-point data, referenced by index.
XMVectorGetIntByIndex

Retrieve the value of one of the four components of an XMVECTOR Data Type containing integer data by index.
XMVectorGetIntByIndexPtr

Retrieve, into an instance of an integer referenced by pointer, the value of one of the four components of an XMVECTOR Data Type containing integer data by index.
XMVectorGetIntW

Retrieve the w component of an XMVECTOR Data Type. (XMVectorGetIntW)
XMVectorGetIntWPtr

Retrieves the w component of an XMVECTOR Data Type containing integer data, and stores that component's value in an instance of uint32_t referred to by a pointer.
XMVectorGetIntX

Retrieve the x component of an XMVECTOR Data Type. (XMVectorGetIntX)
XMVectorGetIntXPtr

Retrieves the x component of an XMVECTOR Data Type containing integer data, and stores that component's value in an instance of uint32_t referred to by a pointer.
XMVectorGetIntY

Retrieve the y component of an XMVECTOR Data Type. (XMVectorGetIntY)
XMVectorGetIntYPtr

Retrieves the y component of an XMVECTOR Data Type containing integer data, and stores that component's value in an instance of uint32_t referred to by a pointer.
XMVectorGetIntZ

Retrieve the z component of an XMVECTOR Data Type. (XMVectorGetIntZ)
XMVectorGetIntZPtr

Retrieves the z component of an XMVECTOR Data Type containing integer data, and stores that component's value in an instance of uint32_t referred to by a pointer.
XMVectorGetW

Retrieve the w component of an XMVECTOR Data Type. (XMVectorGetW)
XMVectorGetWPtr

Retrieve the w component of an XMVECTOR Data Type containing floating-point data, and storing that component's value in an instance of float referred to by a pointer.
XMVectorGetX

Retrieve the x component of an XMVECTOR Data Type. (XMVectorGetX)
XMVectorGetXPtr

Retrieve the x component of an XMVECTOR Data Type containing floating-point data, and storing that component's value in an instance of float referred to by a pointer.
XMVectorGetY

Retrieve the y component of an XMVECTOR Data Type. (XMVectorGetY)
XMVectorGetYPtr

Retrieve the y component of an XMVECTOR Data Type containing floating-point data, and storing that component's value in an instance of float referred to by a pointer.
XMVectorGetZ

Retrieve the z component of an XMVECTOR Data Type. (XMVectorGetZ)
XMVectorGetZPtr

Retrieve the z component of an XMVECTOR Data Type containing floating-point data, and storing that component's value in an instance of float referred to by a pointer.
XMVectorGreater

Performs a per-component test for greater-than between two vectors.
XMVectorGreaterOrEqual

Performs a per-component test for greater-than-or-equal between two vectors.
XMVectorGreaterOrEqualR

Performs a per-component test for greater-than-or-equal between two vectors and sets a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVectorGreaterR

Performs a per-component test for greater-than between two vectors and sets a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVectorHermite

Performs a Hermite spline interpolation, using the specified vectors. (XMVectorHermite)
XMVectorHermiteV

Performs a Hermite spline interpolation, using the specified vectors. (XMVectorHermiteV)
XMVectorInBounds

Tests whether the components of a given vector are within set bounds.
XMVectorInBoundsR

Tests whether the components of a given vector are within certain bounds and sets a comparison value that can be examined using functions such as XMComparisonAllTrue.
XMVectorInsert

Rotates a vector left by a given number of 32-bit components and insert selected elements of that result into another vector.
XMVectorIsInfinite

Performs a per-component test for +/- infinity on a vector.
XMVectorIsNaN

Performs a per-component NaN test on a vector.
XMVectorLerp

Performs a linear interpolation between two vectors. (XMVectorLerp)
XMVectorLerpV

Performs a linear interpolation between two vectors. (XMVectorLerpV)
XMVectorLess

Performs a per-component test for less-than between two vectors.
XMVectorLessOrEqual

Performs a per-component test for less-than-or-equal between two vectors.
XMVectorLog

Computes the base two logarithm of each component of a vector.Note  This function is a compatibility alias for XMVectorLog2 for existing Windows 8 code.
XMVectorLog10

Computes the base ten logarithm of each component of a vector.
XMVectorLog2

Computes the base two logarithm of each component of a vector.
XMVectorLogE

Computes the base e logarithm of each component of a vector.
XMVectorMax

Makes a per-component comparison between two vectors, and returns a vector containing the largest components.
XMVectorMergeXY

Creates a new vector by combining the x and y-components of two vectors.
XMVectorMergeZW

Creates a new vector by combining the z and w-components of two vectors.
XMVectorMin

Makes a per-component comparison between two vectors, and returns a vector containing the smallest components.
XMVectorMod

Computes the per-component floating-point remainder of the quotient of two vectors.
XMVectorModAngles

Computes the per-component angle modulo 2PI.
XMVectorMultiply

Computes the per-component product of two vectors.
XMVectorMultiplyAdd

Computes the product of the first two vectors added to the third vector.
XMVectorNearEqual

Performs a per-component test for equality of two vectors within a given threshold.
XMVectorNegate

Computes the negation of a vector.
XMVectorNegativeMultiplySubtract

Computes the difference of a third vector and the product of the first two vectors.
XMVectorNorInt

Computes the logical NOR of two vectors, treating each component as an unsigned integer.
XMVectorNotEqual

Performs a per-component test for the inequality of two vectors.
XMVectorNotEqualInt

Performs a per-component test for the inequality of two vectors, treating each component as an unsigned integer.
XMVectorOrInt

Computes the logical OR of two vectors, treating each component as an unsigned integer.
XMVectorPermute

Permutes the components of two vectors to create a new vector.
XMVectorPow

Computes V1 raised to the power of V2.
XMVectorReciprocal

Computes the per-component reciprocal of a vector.
XMVectorReciprocalEst

Estimates the per-component reciprocal of a vector.
XMVectorReciprocalSqrt

Computes the per-component reciprocal square root of a vector.
XMVectorReciprocalSqrtEst

Estimates the per-component reciprocal square root of a vector.
XMVectorReplicate

Replicates a floating-point value into all four components of a vector.
XMVectorReplicateInt

Replicates an integer value into all four components of a vector.
XMVectorReplicateIntPtr

Replicates an integer value referenced by a pointer, into all four components of a vector.
XMVectorReplicatePtr

Replicates a floating-point value referenced by pointer into all four components of a vector.
XMVectorRotateLeft

Rotates the vector left by a given number of 32-bit elements.
XMVectorRotateRight

Rotates the vector right by a given number of 32-bit elements.
XMVectorRound

Rounds each component of a vector to the nearest even integer (known as "Bankers Rounding").
XMVectorSaturate

Saturates each component of a vector to the range 0.0f to 1.0f.
XMVectorScale

Scalar multiplies a vector by a floating-point value.
XMVectorSelect

Performs a per-component selection between two input vectors and returns the resulting vector.
XMVectorSelectControl

Defines a control vector for use in XMVectorSelect.
XMVectorSet

Creates a vector using four floating-point values.
XMVectorSetBinaryConstant

Creates a vector, each of whose components is either 0.0f or 1.0f.
XMVectorSetByIndex

Use a floating-point object to set the value of one of the four components of an XMVECTOR Data Type containing integer data referenced by an index.
XMVectorSetByIndexPtr

Use a pointer to a floating-point instance to set the value of one of the four components of an XMVECTOR Data Type containing floating-point data referenced by an index.
XMVectorSetInt

Creates a vector with unsigned integer components.
XMVectorSetIntByIndex

Use an integer instance to set the value of one of the four components of an XMVECTOR Data Type containing integer data referenced by an index.
XMVectorSetIntByIndexPtr

Use a pointer to an integer instance to set the value of one of the four components of an XMVECTOR Data Typecontaining integer data referenced by an index.
XMVectorSetIntW

Set the value of the w component of an XMVECTOR Data Type. (XMVectorSetIntW)
XMVectorSetIntWPtr

Sets the w component of an XMVECTOR containing integer data, with a value contained in an instance of uint32_t referred to by a pointer.
XMVectorSetIntX

Set the value of the x component of an XMVECTOR Data Type. (XMVectorSetIntX)
XMVectorSetIntXPtr

Sets the x component of an XMVECTOR containing integer data, with a value contained in an instance of uint32_t referred to by a pointer.
XMVectorSetIntY

Set the value of the y component of an XMVECTOR Data Type. (XMVectorSetIntY)
XMVectorSetIntYPtr

Sets the y component of an XMVECTOR containing integer data, with a value contained in an instance of uint32_t referred to by a pointer.
XMVectorSetIntZ

Set the value of the z component of an XMVECTOR Data Type. (XMVectorSetIntZ)
XMVectorSetIntZPtr

Sets the z component of an XMVECTOR containing integer data, with a value contained in an instance of uint32_t referred to by a pointer.
XMVectorSetW

Set the value of the w component of an XMVECTOR Data Type. (XMVectorSetW)
XMVectorSetWPtr

Sets the w component of an XMVECTOR containing floating-point data, with a value contained in an instance of float referred to by a pointer.
XMVectorSetX

Set the value of the x component of an XMVECTOR Data Type. (XMVectorSetX)
XMVectorSetXPtr

Sets the x component of an XMVECTOR containing floating-point data, with a value contained in an instance of float referred to by a pointer.
XMVectorSetY

Set the value of the y component of an XMVECTOR Data Type. (XMVectorSetY)
XMVectorSetYPtr

Sets the y component of an XMVECTOR containing floating-point data, with a value contained in an instance of float referred to by a pointer.
XMVectorSetZ

Set the value of the z component of an XMVECTOR Data Type. (XMVectorSetZ)
XMVectorSetZPtr

Sets the z component of an XMVECTOR containing floating-point data, with a value contained in an instance of float referred to by a pointer.
XMVectorShiftLeft

Shifts a vector left by a given number of 32-bit elements, filling the vacated elements with elements from a second vector.
XMVectorSin

Computes the sine of each component of an XMVECTOR.
XMVectorSinCos

Computes the sine and cosine of each component of an XMVECTOR.
XMVectorSinCosEst

Estimates the sine and cosine of each component of an XMVECTOR.
XMVectorSinEst

Estimates the sine of each component of an XMVECTOR.
XMVectorSinH

Computes the hyperbolic sine of each component of an XMVECTOR.
XMVectorSplatConstant

Creates a vector with identical floating-point components. Each component is a constant divided by two raised to an integer exponent.
XMVectorSplatConstantInt

Creates a vector with identical integer components.
XMVectorSplatEpsilon

Returns a vector, each of whose components are epsilon (1.192092896e-7).
XMVectorSplatInfinity

Returns a vector, each of whose components are infinity (0x7F800000).
XMVectorSplatOne

Returns a vector, each of whose components are one.
XMVectorSplatQNaN

Returns a vector, each of whose components are QNaN (0x7CF00000).
XMVectorSplatSignMask

Returns a vector, each of whose components are the sign mask (0x80000000).
XMVectorSplatW

Replicates the w component of a vector to all of the components.
XMVectorSplatX

Replicates the x component of a vector to all of the components.
XMVectorSplatY

Replicates the y component of a vector to all of the components.
XMVectorSplatZ

Replicates the z component of a vector to all of the components.
XMVectorSqrt

Computes the per-component square root of a vector.
XMVectorSqrtEst

Estimates the per-component square root of a vector.
XMVectorSubtract

Computes the difference of two vectors.
XMVectorSubtractAngles

Subtracts two vectors representing angles.
XMVectorSum

Computes the horizontal sum of the components of an XMVECTOR. The horizontal sum is the result of adding each component in the vector together.
XMVectorSwizzle

Swizzles a vector.
XMVectorTan

Computes the tangent of each component of an XMVECTOR.
XMVectorTanEst

Estimates the tangent of each component of an XMVECTOR.
XMVectorTanH

Computes the hyperbolic tangent of each component of an XMVECTOR.
XMVectorTrueInt

Returns a vector, each of whose components represents true (0xFFFFFFFF).
XMVectorTruncate

Rounds each component of a vector to the nearest integer value in the direction of zero.
XMVectorXorInt

Computes the logical XOR of two vectors, treating each component as an unsigned integer.
XMVectorZero

Creates the zero vector.
XMVerifyCPUSupport

Indicates if the DirectXMath Library supports the current platform.

Structures

 
XMFLOAT2

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

Describes an XMFLOAT2 structure aligned on a 16-byte boundary.
XMFLOAT3

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

Describes an XMFLOAT3 structure aligned on a 16-byte boundary.
XMFLOAT3X3

A 3x3 floating-point matrix.
XMFLOAT3X4

A 3x4 column-major matrix containing 32-bit floating-point components.
XMFLOAT3X4A

A 3x4 column-major matrix containing 32-bit floating-point components aligned on a 16-byte boundary.
XMFLOAT4

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

Describes an XMFLOAT4 structure aligned on a 16-byte boundary.
XMFLOAT4X3

A 4*3 floating point matrix.
XMFLOAT4X3A

Describes an XMFLOAT4X3 structure aligned on a 16-byte boundary.
XMFLOAT4X4

A 4*4 floating point matrix.
XMFLOAT4X4A

Describes an XMFLOAT4X4 structure aligned on a 16-byte boundary.
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

Describes a 4*4 matrix aligned on a 16-byte boundary that maps to four hardware vector registers.
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.