개요
Z-Buffer란 그래픽스의 마지막 부분에서 겹치는 부분의 뒷 배경을 제거하기 위한 방법이다. Z-Buffer 용어 자체가 의미하는 것은 깊이 버퍼 (Depth Buffer)이며 이를 이용하여 깊이 정보를 반영한 그래픽 파이프 라인의 최종 결과물을 만들어 낸다.
방식
- Z 버퍼의 처음 값을 제일 먼 거리의 값으로 설정한다. (주로 far plane의 깊이 값으로 설정한다.)
- 각 vertex의 깊이 값을 반영시킨다.
- vertex의 정보를 이용하여 z-buffer의 값을 interpolation 시킨다. 쉽게 말하자면, 각 정점의 깊이 정보만 알고 있음으로 삼각형 전체의 깊이 정보를 반영시키기 위해서 버텍스들의 깊이 정보를 삼각형 전체로 확장시키는 것이다. interpolation 이란 우리말로 보간이며 이는 몇몇 알고있는 점으로 전체를 추측하는 기법을 말한다.
- 만약 한 점의 z-buffer 값보다 현재 적용 시키는 점의 z 값이 더 작다면 현재 적용시키는 점이 더 화면 가까이 있는 것이다. 이 경우 z-buffer를 업데이트 하고 pixel buffer에 값을 채워넣는다.
- 과정 2로 돌아가서 모든 점을 검사한다.