zbuffer, z 버퍼링
vtk에서 depthmap을 만들때 input을 zbuffer 타입으로 변경시켜야 하길래, 이게 뭔지 궁금해졌다.
zbuffer 혹은 깊이 버퍼
**
버퍼: 버퍼링을 위한 메모리(공간)
버퍼링: 버퍼에 데이터를 담는 과정
정의가 약간 순환오류인 것 같지만 충분히 이해할 수 있다고 생각한다
**
x,y,z 축에서 z 축이 시사하는 바는 물체의 높이로 알고 있다.
하지만 관점을 살짝 비틀어서
카메라(혹은 시선)의 위치를 0으로 둔다면, 이 z 값은 얼마나 카메라로부터 물체가 먼지, 즉 "깊이" 가 될 것이다.
이 z 값에 대한 정보를 바탕으로 우리는 이미지를 출력하게 되는데,
만약 혜림이가 서 있는 z값이 0.2고 혜림이네 바보개가 서 있는 z 값이 0.5라면,
겹치는 부분에 대해서는 바보개는 가려져서 나오는 것이다.
이건 카메라의 시선에서도 일치한다. 내가 더 앞에 서 있으면 바보개는 내 뒤에 있으니 겹치는 영역은 가려져 보이지 않는다.
이런 '깊이'에 대한 정보를 담은 메모리/공간을 z 버퍼 라고 한다.
끝! 간단하게 말로 털었다.
[reference]
댓글