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.
Note
The D3DX utility library is deprecated. We recommend that you use DirectXMath instead.
Builds a transformation matrix. NULL arguments are treated as identity transformations.
D3DXMATRIX* D3DXMatrixTransformation(
_Inout_ D3DXMATRIX *pOut,
_In_ const D3DXVECTOR3 *pScalingCenter,
_In_ const D3DXQUATERNION *pScalingRotation,
_In_ const D3DXVECTOR3 *pScaling,
_In_ const D3DXVECTOR3 *pRotationCenter,
_In_ const D3DXQUATERNION *pRotation,
_In_ const D3DXVECTOR3 *pTranslation
);
-
pOut [in, out]
-
Type: D3DXMATRIX*
Pointer to the D3DXMATRIX structure that is the result of the operation.
-
pScalingCenter [in]
-
Type: const D3DXVECTOR3*
Pointer to a D3DXVECTOR3 structure, identifying the scaling center point. If this argument is NULL, an identity Msc matrix is applied to the formula in Remarks.
-
pScalingRotation [in]
-
Type: const D3DXQUATERNION*
Pointer to a D3DXQUATERNION structure that specifies the scaling rotation. If this argument is NULL, an identity Msr matrix is applied to the formula in Remarks.
-
pScaling [in]
-
Type: const D3DXVECTOR3*
Pointer to a D3DXVECTOR3 structure, the scaling vector. If this argument is NULL, an identity Mₛ matrix is applied to the formula in Remarks.
-
pRotationCenter [in]
-
Type: const D3DXVECTOR3*
Pointer to a D3DXVECTOR3 structure, a point that identifies the center of rotation. If this argument is NULL, an identity Mrc matrix is applied to the formula in Remarks.
-
pRotation [in]
-
Type: const D3DXQUATERNION*
Pointer to a D3DXQUATERNION structure that specifies the rotation. If this argument is NULL, an identity Mr matrix is applied to the formula in Remarks.
-
pTranslation [in]
-
Type: const D3DXVECTOR3*
Pointer to a D3DXVECTOR3 structure, representing the translation. If this argument is NULL, an identity Mₜ matrix is applied to the formula in Remarks.
Type: D3DXMATRIX*
Pointer to a D3DXMATRIX structure that is the transformation matrix.
This function calculates the transformation matrix with the following formula, with matrix concatenation evaluated in left-to-right order:
Mout = (Msc)⁻¹ * (Msr)⁻¹* Mₛ * Msr * Msc * (Mrc)⁻¹* Mr * Mrc * Mt
where:
Mout = output matrix (pOut)
Msc = scaling center matrix (pScalingCenter)
Msr = scaling rotation matrix (pScalingRotation)
Mₛ = scaling matrix (pScaling)
Mrc = center of rotation matrix (pRotationCenter)
Mr = rotation matrix (pRotation)
Mₜ = translation matrix (pTranslation)
The return value for this function is the same value returned in the pOut parameter. In this way, the D3DXMatrixTransformation function can be used as a parameter for another function.
For 2D transformations, use D3DXMatrixTransformation2D.
Requirement | Value |
---|---|
Header |
|
Library |
|