D3DXMatrixTransformation 함수(D3dx9math.h)
참고
D3DX 유틸리티 라이브러리는 더 이상 사용되지 않습니다. 대신 DirectXMath 를 사용하는 것이 좋습니다.
변환 매트릭스를 빌드합니다. NULL 인수는 ID 변환으로 처리됩니다.
구문
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]
-
형식: D3DXMATRIX*
작업의 결과인 D3DXMATRIX 구조체에 대한 포인터입니다.
-
pScalingCenter [in]
-
형식: const D3DXVECTOR3*
크기 조정 중심점을 식별하는 D3DXVECTOR3 구조체에 대한 포인터입니다. 이 인수가 NULL이면 IDENTITY Msc 행렬이 주의 수식에 적용됩니다.
-
pScalingRotation [in]
-
형식: const D3DXQUATERNION*
크기 조정 회전을 지정하는 D3DXQUATERNION 구조체에 대한 포인터입니다. 이 인수가 NULL이면 IDENTITY Msr 행렬이 주의 수식에 적용됩니다.
-
pScaling [in]
-
형식: const D3DXVECTOR3*
크기 조정 벡터인 D3DXVECTOR3 구조체에 대한 포인터입니다. 이 인수가 NULL이면 IDENTITY Ms 행렬이 설명의 수식에 적용됩니다.
-
pRotationCenter [in]
-
형식: const D3DXVECTOR3*
회전 중심을 식별하는 D3DXVECTOR3 구조체에 대한 포인터입니다. 이 인수가 NULL이면 Identity Mrc 행렬이 설명의 수식에 적용됩니다.
-
pRotation [in]
-
형식: const D3DXQUATERNION*
회전을 지정하는 D3DXQUATERNION 구조체에 대한 포인터입니다. 이 인수가 NULL이면 주의 수식에 ID Mr 행렬이 적용됩니다.
-
pTranslation [in]
-
형식: const D3DXVECTOR3*
변환을 나타내는 D3DXVECTOR3 구조체에 대한 포인터입니다. 이 인수가 NULL이면 주의 수식에 ID Mt 행렬이 적용됩니다.
반환 값
형식: D3DXMATRIX*
변환 행렬인 D3DXMATRIX 구조체에 대한 포인터입니다.
설명
이 함수는 행렬 연결이 왼쪽에서 오른쪽 순서로 계산된 다음 수식을 사용하여 변환 행렬을 계산합니다.
Mout = (Msc)⁻1 * (Msr)⁻1 * Ms * Msr * Msc * (Mrc)⁻1 * Mr * Mrc * Mt
여기서
Mout = 출력 행렬(pOut)
Msc = 크기 조정 센터 매트릭스(pScalingCenter)
Msr = 회전 행렬 크기 조정(pScalingRotation)
Ms = 크기 조정 매트릭스(pScaling)
Mrc = 회전 행렬의 중심(pRotationCenter)
Mr = 회전 행렬(pRotation)
Mt = 번역 행렬(pTranslation)
이 함수의 반환 값은 pOut 매개 변수에 반환된 값과 동일합니다. 이러한 방식으로 D3DXMatrixTransformation 함수를 다른 함수의 매개 변수로 사용할 수 있습니다.
2D 변환의 경우 D3DXMatrixTransformation2D를 사용합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보