Perspective projection에서는 homogemeous divide가 필요합니다. 일반적인 공간변환과 다르게 투영 행렬이기 때문이고, NDC좌표계로의 변환이 필요하기 때문입니다. 일반적으로 directX의 hlsl에서는 뷰or월드 좌표계를 proj행렬을 곱하면, 클립좌표계(NDC아님)로 변환이 됩니다. 이 과정은 버텍스 쉐이더에서 이루어지고, 이 값을 픽셀 쉐이더로 넘겨줬을때 알아서 NDC좌표계로 그래픽스 파이프라인 내부적으로 변환이 됩니다. 다음 그림을 이해해 봅시다.주의할 점은 vertex shader에서 proj를 한 결과가 2차원이 아닌 3차원인 clip space라는 것입니다. 여기서 z값은 추후 깊이버퍼로 뒤 물체가 가리는지 아닌지를 판단할 때 쓰입니다. 코드는 다음과 같습니다. ..