
RS과정을 거치면서 랜더링할 공간의 픽셀을 생성하게 되는데, 이때 모니터에 출력될 픽셀 들을 가로 X좌표
-1 ~ +1, 세로 Y좌표-1 ~ +1, Z좌표0 ~ 1의 형식으로 정규화된 형태로 좌표를 찍는 것을 말한다. 가로세로 -1 ~ +1사이의 값을 사용해서 해상도 비율에 맞게 픽셀의 위치를 계산하기 때문에 여러 해상도에도 적응할 수 있고, 정규화 되어있는 수치를 사용하기 때문에 성능 향상에도 도움이 된다.
정리하자면, NDC좌표계는 3D의 세계(실제 게임 공간 모델링)를 2D공간(모니터)에 투영하기 위해서 만들어진 정규화된 좌표계이며, 이 과정을 가장 효율적으로 실행하기 위한 과정이며 개념이World, View, Projection이다.
무언가를 담는 공간이다. 이 세계(3D 공간)에서 각자가 가지고 있는 공간을 의미한다. Unreal엔진에서는 트랜스폼의 형태로 나타난다. 게임 공간 상에 존재하는 모든 물체 별로 각 각 트랜스폼(World공간)을 가지고 있다.
내가 바라보는 공간을 의미한다. 카메라를 통해서 유저가 바라보는 공간을 표현하고 있으며 이 공간 안으로 들어와야 실질적으로 그려진다고 할 수 있다. 성능의 최적화를 위해서 대부분의 경우에는 이 공간안에 없는 물체(World 공간)는 여러가지 기법을 통해서 그리지 않는다. 대부분 카메라가 바라보는 공간은 1개이기 때문에 카메라의 위치값과 카메라가 바라볼 시야의 방향 값만 가지고 있다.
Projection이라는 말 그대로 직역하면, 투영이라는 뜻 그대로 3D공간을 2D에 그려내는데 어떤 방식으로 표현할 것인가를 의미한다. 보통 우리가하는 3D게임에서는 원근 투영이 이루어지는데 앞에 있는 물체는 크게 뒤에 있는 물체는 작게 그림으로써 2D공간에서도 원근감을 표현할 수가 있다. 다른 투영으로는 직교 투영이 있는데, 이 경우에는 원근감은 무시하고 그 물체에 대한 실제크기 비율을 그대로 투영하게 된다. 위의 두 개의 방식에서도 공통적으로 크기가 중요하다는 것을 알 수 있다. 따라서 이 공간에서는 크기(Scale)값만을 가지고 있다.