다음을 통해 공유


IDirect3DDevice9::MultiplyTransform 메서드(d3d9helper.h)

디바이스의 월드, 뷰 또는 프로젝션 행렬을 지정된 행렬에 곱합니다.

구문

HRESULT MultiplyTransform(
  [in] D3DTRANSFORMSTATETYPE unnamedParam1,
  [in] const D3DMATRIX       *unnamedParam2
);

매개 변수

[in] unnamedParam1

형식: D3DTRANSFORMSTATETYPE

D3DTRANSFORMSTATETYPE 열거형 형식의 멤버이거나 수정할 디바이스 매트릭스를 식별하는 D3DTS_WORLDMATRIX 매크로입니다. 가장 일반적인 설정인 D3DTS_WORLDMATRIX(0)은 월드 행렬을 수정하지만 필요한 경우 메서드가 뷰 또는 프로젝션 행렬을 수정할 수 있습니다.

[in] unnamedParam2

형식: const D3DMATRIX*

현재 변환을 수정하는 D3DMATRIX 구조체에 대한 포인터입니다.

반환 값

형식: HRESULT

메서드가 성공하면 반환 값이 D3D_OK. 인수 중 하나가 잘못된 경우 D3DERR_INVALIDCALL.

설명

곱하기 순서는 pMatrix times State입니다.

애플리케이션은 IDirect3DDevice9::MultiplyTransform 메서드를 사용하여 변환 계층 구조를 사용할 수 있습니다. 예를 들어 arm을 설명하는 기하 도형 및 변환은 다음 계층 구조에서 정렬될 수 있습니다.


    
    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)

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 d3d9helper.h(D3D9.h 포함)
라이브러리 D3D9.lib

추가 정보

D3DTS_WORLD

D3DTS_WORLDMATRIX

D3DTS_WORLDn

IDirect3DDevice9

IDirect3DDevice9::DrawPrimitive

IDirect3DDevice9::SetTransform