『Lena's by ☆볶기!!』: Restart !!

Rorolena
World Transformation(월드 변환)

이번  포스팅에선 월드 변환의
3가지 행렬에 관하여 포스팅 하겠습니다.

Wolrd Transformation에서는
3가지 변환을 할 수 있습니다.

1. Translation(이동)
2. Rotation(회전)
3. Scaling(규모조정)

DirectX에선 다음과 같이 사용되고 있습니다.

// 행렬 선언
D3DXMATRIX Rx, Ry, TrnsX, Scl, Run;

// 이동
D3DxmatrixTranslation(&TrnsX, 5.0f, 0.0f, 0.0f);

// 회전
D3DXMatrixRotationX(&Rx, D3DX_PI * 0.2f);
D3DXMatrixRotationY(&Ry, y);

// 규모조정
D3DXMatrixScaling(&Scl, 5.0f, 5.0f, 5.0f);

// 행렬 종합
Run = Rx * Ry * TrnsX * Scl;

// 월드 좌표에 적용
Device->SetTransform(D3DTS_WORLD, &Run);

위의 요점은
각각 계산해줄 행렬 선언후
이동, 회전, 스케일링후
하나의 행렬로 곱한다음
이를 원드 좌표에 적용한것이
메커니즘입니다.

참고로 이 소스는 저번의
IndexBuffer를 이용한 Color Cube만들기에서
조금 수정한것입니다.


수정된 소스는 x위치와 스케일, 카메라가 조정되었습니다.

'개발실 ◐ ━━ > DirectX' 카테고리의 다른 글

Texture와 Filtering설정  (0) 2012.03.26
Rendering Pipeline 과정  (0) 2012.01.30
IndexBuffer를 이용한 Color Cube만들기  (0) 2012.01.26
다이렉트 초기화  (2) 2012.01.14