티스토리 뷰
[function] D3DXMatrixDecompose 스케일 회전 위치값 변환을 모두 가진 행렬 분해하기
몰라아 2017. 8. 20. 13:05D3DXMatrixDecompose 함수를 사용하면 되는데 매우 간단하다
필요로 하는 인자를 넣으면 알아서 값을 계산해준다.
matWorld 변수에는 특정 값들을 얻기 위한 매트릭스를 넣어주면 된다.
아래처럼 쓰레기값이 들어가있는 매트릭스 넣으면 쓰레기값 매트릭스에는 어떤 회전값이 들어가있을까 하는 결과를..
하단에 Syntax 를 보면 알겠지만 전부 포인터 형태로 들어가는데
그렇다고 해서 필요없는 인자라고 NULL을 넣을 경우에는
하얗게 질리는 화면을 볼 수가 있다
Breaks down a general 3D transformation matrix into its scalar, rotational, and translational components.
Syntax
HRESULT D3DXMatrixDecompose(
_Inout_ D3DXVECTOR3 *pOutScale,
_Inout_ D3DXQUATERNION *pOutRotation,
_Inout_ D3DXVECTOR3 *pOutTranslation,
_In_ const D3DXMATRIX *pM
);
Parameters
- pOutScale [in, out]
-
Type: D3DXVECTOR3*
Pointer to the output D3DXVECTOR3 that contains scaling factors applied along the x, y, and z-axes.
- pOutRotation [in, out]
-
Type: D3DXQUATERNION*
Pointer to the D3DXQUATERNION structure that describes the rotation.
- pOutTranslation [in, out]
-
Type: D3DXVECTOR3*
Pointer to the D3DXVECTOR3 vector that describes the translation.
- pM [in]
-
Type: const D3DXMATRIX*
Pointer to an input D3DXMATRIX matrix to decompose.
Return value
Type: HRESULT
If the function succeeds, the return value is S_OK. If the function fails, the return value can be the following: D3DERR_INVALIDCALL.
Requirements
Header |
|
---|---|
Library |
|
See also
https://msdn.microsoft.com/en-us/library/windows/desktop/bb205337(v=vs.85).aspx
'ComComComCom > DX .. D3D' 카테고리의 다른 글
3d 에서 .OBJ .obj 파일이란? 구조파악 파일 파싱 방법 (0) | 2017.07.22 |
---|---|
3차원 그래픽 파일포맷 (0) | 2017.07.22 |
애니메이션 시키기/ ID3DXAnimationController/ 블랜딩 (0) | 2017.07.13 |
ID3DXAnimationController interface (0) | 2017.07.13 |
Animation Controller class (0) | 2017.07.13 |