Object space
라는 각자의 좌표계에서 World space
라는 공통된 좌표계로 변환한다.World space
를 Eye space
로 변환하는 과정이다.Eye space
에서 관찰점(eye)인 Eye position은 좌표계의 원점, 관찰 방향은 특정 축(주로 z)을 따라 지정된다.Eye space
는 Viewing coordinate space
라고도 하는데, 특이하게 xyz 좌표축이 아닌 uvn 좌표축을 사용한다. 오른손 좌표계를 따르며, 각 벡터는 다음을 의미한다.
Eye Position으로부터 시작되는 Eye space
는 위와 같은 요소들로 구성된다.
요소 | 설명 |
---|---|
View plane | - 카메라의 필름과 같이 3D 월드를 2D 화면에 투영시킬 기준이 되는 무한한 평면. u-v 벡터의 평면이기도 하다. - View plane보다 앞에 있는 물체는 보이지 않고, 뒤는 보인다. |
Clipping window | - View plane에서 실제 화면으로 보여질 영역의 크기 및 비율을 결정한 창. |
Front/Back clipping plane | - Near/Far 라고도 하며, 관찰할 수 있는 Clipping window의 최소, 최대 영역. - 직교(정사영, Orthogonal) 투영이라면 Front/Back의 크기는 같고, 원근(Perspective) 투영이라면 Front보다 Back의 크기가 크다. |
View volume | - Eye position부터 Clipping window로 만들어질 수 있는 사각뿔 모양의 3D 영역. |
Viewport | - View volume 내에서 화면에 실제로 보여질 영역. View plane과 평행하다. 위 그림에서 View plane으로 가리켜지고 있는 영역이라고 생각하면 쉽다. |
View frustum | - View volume을 Front/Back clipping window로 감싼 절두체. |
Eye space
에서 NDC(Normalized Device Coordinates)
로 변환하는 과정이다.NDC
에서 Screen space
로 변환하는 과정이다. 이때 3D object가 2D vector image가 된다.▶ [MIT csail] The Graphics Pipeline: Projective Transformations