[Common]3DS MAX, D3D, OpenGL의 좌표계에 대하여...
2015. 9. 27. 11:49ㆍ프로그래밍/3D Graphics
좌표계
3차원 공간의 좌표는 세 개의(x, y, z) 축으로 표현된다.
보통 x와 y축이 나타내는 방향은 같으며, z축의 방향에 따라 왼손 좌표계, 오른손 좌표계로 구분되어 진다.
3DS MAX, OPENGL, D3D의 좌표계
가장 많이 사용되는 모델링 툴인 MAX와 3D 그래픽 라이브러리인 OpenGL은 오른손 좌표계를
D3D는 왼손 좌표계를 사용한다.
MAX의 경우 오른손 좌표계를 사용하지만, Z축이 위를 향하고 있다는 것을 잊지 말자.
좌표계 변환
[MAX->D3D]
MAX에서 Exporting한 모델링 파일을 D3D에서 표현하기 위해서는 좌표계를 변환해야 한다.
변환 : x = x, y = z, z = y
[MAX->OPENGL]
OpenGL은 MAX와 동일하게 오른손 좌표계를 사용한다.
하지만 Y축의 방향이 서로 다르기 때문에 MAX 좌표계를 그대로 사용하면, 모델의 정면이 아닌 아래쪽이 표현된다. 물론 회전을 해서 그리면 해결되지만, 편의를 위해 주로 좌표를 맞춘다. 이는 위의 dx도 마찬가지...
변환 : x = x, y = z, z = -y
[D3D <-> OPENGL]
D3D는 왼손, OpenGL은 오른손 좌표계를 사용하기 때문에 Z축의 방향이 반대이다.
상호간 변환을 위해서는 Z축의 방향만 바꿔주면 된다.
변환 : x = x, y = y, z = -z
'프로그래밍 > 3D Graphics' 카테고리의 다른 글
Convert Voxel World To Planet (0) | 2018.06.29 |
---|---|
[Common]와인딩 모드, 오른나사(CW)와 왼나사(CCW) (0) | 2015.11.14 |
[Common] 행렬과 3D Graphics (0) | 2015.09.30 |
[Math] 행렬의 기본연산 (0) | 2015.09.30 |
[COMMON] 행렬에 대하여... (0) | 2015.09.28 |