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 3D affine transformation matrix. NULL arguments are treated as identity transformations.
Syntax
D3DXMATRIX* D3DXMatrixAffineTransformation(
_Inout_ D3DXMATRIX *pOut,
_In_ FLOAT Scaling,
_In_ const D3DXVECTOR3 *pRotationCenter,
_In_ const D3DXQUATERNION *pRotation,
_In_ const D3DXVECTOR3 *pTranslation
);
Parameters
-
pOut [in, out]
-
Type: D3DXMATRIX*
Pointer to the D3DXMATRIX structure that is the result of the operation.
-
Scaling [in]
-
Type: FLOAT
Scaling factor.
-
pRotationCenter [in]
-
Type: const D3DXVECTOR3*
Pointer to a D3DXVECTOR3 structure, a point identifying 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.
Return value
Type: D3DXMATRIX*
Pointer to a D3DXMATRIX structure that is an affine transformation matrix.
Remarks
This function calculates the affine transformation matrix with the following formula, with matrix concatenation evaluated in left-to-right order:
Mout = Mₛ * (Mrc)⁻¹ * Mr * Mrc * Mₜ
where:
Mout = output matrix (pOut)
Mₛ = scaling matrix (Scaling)
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 D3DXMatrixAffineTransformation function can be used as a parameter for another function.
For 2D affine transformations, use D3DXMatrixAffineTransformation2D.
Requirements
Requirement | Value |
---|---|
Header |
|
Library |
|
See also