DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DDevice9 MultiplyTransform [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
장치의 월드 행렬, 뷰 행렬, 또는 투영 행렬에, 지정된 행렬을 곱셈한다.
구문
HRESULT MultiplyTransform(
D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX *pMatrix );
파라미터
- State
- [in] D3DTRANSFORMSTATETYPE 열거형의 멤버, 또는 D3DTS_WORLDMATRIX 매크로. 변경하는 장치 행렬을 식별한다. 가장 일반적인 설정은 D3DTS_WORLDMATRIX(0)로, 월드 행렬을 변경하지만, 필요하면, 뷰 행렬이나 투영 행렬을 변경하도록(듯이) 지정할 수도 있다.
- pMatrix
- [in] 현재의 변환을 변경하는 D3DMATRIX 구조체의 포인터.
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
인수중 한쪽이 무효인 경우는,D3DERR_INVALIDCALL 가 된다.
주의
곱셈의 순서는,State × pMatrix 이다.
애플리케이션이, 변환의 계층 구조를 사용해 동작하기 위해서,IDirect3DDevice9::MultiplyTransform 메서드를 사용하는 일도 생각할 수 있다. 예를 들어, 팔을 나타내는 지오메트리와 변환은, 이하의 계층에서 구성하는 일도 있다.
shoulder_transformation upper_arm geometry elbow transformation lower_arm geometry wrist transformation hand geometry애플리케이션에서는, 이 계층을 렌더링 하기 위해서 이하의 일련의 호출을 실시할 수가 있다. 이 코드에서는 일부의 파라미터만 가리킨다.
IDirect3DDevice9::SetTransform(D3DTS_WORLDMATRIX(0), shoulder_transform) IDirect3DDevice9::DrawPrimitive(upper_arm) IDirect3DDevice9::MultiplyTransform(D3DTS_WORLDMATRIX(0), elbow_transform) IDirect3DDevice9::DrawPrimitive(lower_arm) IDirect3DDevice9::MultiplyTransform(D3DTS_WORLDMATRIX(0), wrist_transform) IDirect3DDevice9::DrawPrimitive(hand)
참조
IDirect3DDevice9::DrawPrimitive ,IDirect3DDevice9::SetTransform ,D3DTS_WORLD ,D3DTS_WORLDn ,D3DTS_WORLDMATRIX