개요

Z-Buffer란 그래픽스의 마지막 부분에서 겹치는 부분의 뒷 배경을 제거하기 위한 방법이다. Z-Buffer 용어 자체가 의미하는 것은 깊이 버퍼 (Depth Buffer)이며 이를 이용하여 깊이 정보를 반영한 그래픽 파이프 라인의 최종 결과물을 만들어 낸다.

방식

  1. Z 버퍼의 처음 값을 제일 먼 거리의 값으로 설정한다. (주로 far plane의 깊이 값으로 설정한다.)
  2. vertex의 깊이 값을 반영시킨다.
  3. vertex의 정보를 이용하여 z-buffer의 값을 interpolation 시킨다. 쉽게 말하자면, 각 정점의 깊이 정보만 알고 있음으로 삼각형 전체의 깊이 정보를 반영시키기 위해서 버텍스들의 깊이 정보를 삼각형 전체로 확장시키는 것이다. interpolation 이란 우리말로 보간이며 이는 몇몇 알고있는 점으로 전체를 추측하는 기법을 말한다.
  4. 만약 한 점의 z-buffer 값보다 현재 적용 시키는 점의 z 값이 더 작다면 현재 적용시키는 점이 더 화면 가까이 있는 것이다. 이 경우 z-buffer를 업데이트 하고 pixel buffer에 값을 채워넣는다.
  5. 과정 2로 돌아가서 모든 점을 검사한다.