스크린에 그려질 2차원 삼각형의 정점 좌표가 결정되면, 이 삼각형이 포함하는 픽셀마다 프래그먼트가 생성된다. 마지막으로 삼각형 정점에 할당되었던 여러 데이터가 보간(interpolate)되어 각 프래그먼트에 할당된다. Direct3D에서는 이 모든 과정을 통틀어 래스터화(rasterization) 단계 또는 래스터라이저(rasterizer)라고 부른다.
래스터라이저는 클리핑(clipping), 원근 나눗셈(perspective division), 뒷면 제거(back-face culling), 뷰포트 변환(viewport transform), 스캔 변환(scan conversion) 등의 요소로 구성된다.
클리핑은 221 크기의 클립 공간 뷰 볼륨(view volume) 바깥에 놓인 폴리곤을 잘라내는 작업을 말한다. 카메라 공간에서 특정 삼각형이 뷰 프러스텀에 일부만 교차하게 된다면, 뷰 프러스텀 바깥에 놓인 부분을 잘라내는 작업이 필요하다. 클리핑 결과, 바깥에 놓인 부분이 잘리면서 기존 정점 일부가 제거되고 새로운 정점이 추가된다. 이렇게 생성된 새로운 프리미티브가 렌더링 파이프라인의 다음 단계로 넘어간다.
그림 3.2는 투영 변환 전후의 뷰 프러스텀 및 직육면체 뷰 볼륨의 단면을 보여준다. 아핀 변환과는 달리 $M_{proj}$의 마지막 행은 $\begin{pmatrix} 0&0&0&1 \end{pmatrix}$이 아니라 $\begin{pmatrix} 0&0&-1&0 \end{pmatrix}$이다. 따라서 카메라 공간에서 $(x\ y\ z\ 1)$의 좌표를 가지는 정점에 $M_{proj}$가 적용되면, 변환된 정점의 $w$ 좌표는 $-z$가 된다. 이는 대개의 경우 1이 아니다. 그림 3.2에서 $M_{proj}$를 $P_2$와 $Q_2$에 적용한 결과를 보라.
이러한 동차 좌표를 카테시안 좌표로 전환하기 위해서는 각 정점을 그 자신의 $w$ 좌표로 나누면 된다. 그런데, $w$ 좌표는 $-z$ 임에 주목하자. 이는 양수이며, 카메라 공간의 $xy$ 평면으로부터 해당 정점까지의 수직 거리이다. 카메라로부터 멀리 떨어져 있는 물체는 $w$ 값이 크므로, $w$ 로 나누는 연산은 멀리 떨어진 물체를 작게 만들게 된다. 그림 3.2에서 $P_1$과 $Q_1$을 잇는 선분 $l_1$ 그리고 $P_2$와 $Q_2$를 잇는 $l_2$를 생각해보자. 카메라 공간에서는 $l_1$과 $l_2$가 동일한 길이를 가지지만, $M_{proj}$를 적용하고 $w$로 나눈 결과 ${l_2}'$는 ${l_1}'$보다 작아졌다. $l_2$가 $l_1$보다 카메라에서 더 멀리 떨어져 있기 때문이다. 이는 바로 원근법 구현에 해당한다. 따라서, $w$로 나누는 연산을 원근 나눗셈(perspective division)이라고 부른다.
원근 나눗셈 결과, 클립 공간의 동차 좌표는 카테시안 좌표로 바뀌는데 이를 정규화된 장치 좌표(normalized device coordinates) 혹은 간단히 NDC라고 부른다. 정규화라는 이름을 붙인 이유는 이 좌표의 $xy$ 범위가 $[-1,\ 1]$이고 $z$ 범위가 $[0,\ 1]$이기 때문이다. 그림 3.2의 ${P_1}',{Q_1}',{P_2}',{Q_2}'$는 모두 NDC로 표현되었다.
투영 변환 이후 클립 공간의 동차 좌표를 카테시안 좌표로 전환하기 위해서는 각 정점을 그 자신의 w좌표로 나누면 된다. w로 나누는 연산을 원근 나눗셈(perspective division)이라고 부른다. 원근 나눗셈의 결과로 바뀌는 카테시안 좌표를 정규화된 장치 좌표(normalized device coordinates) 혹은 간단히 NDC라고 부른다.