DEPTH STENCIL VIEW

원래벌레·2022년 8월 16일
0

🌞 Depth.stencil view(DTV)란

  • Render target View처럼 마지막 단계에 무언가 하는 녀석이다. 우리는 3D로 찍은 카메라를 2D로 표현하기를 바라고 있다. 이를 처리해주는 단계가 DTV라고 보면 되겠다.

🌼 투영좌표계

  • 카메라에 찍힌 세상 즉 3D 세상의 깊이를 표현하는 좌표계로, 위에 말한 Depth Stencil View의 3D에서 2D로 가기위한 단계 중 하나이다. 3D 세상을 투영좌표계로 옮김으로써 이제는 그림의 크기를 보는 것이 아니라, 배경과 그림의 비율을 보고 그림을 그리겠다는 것이 포인트이다.
  • 이 투영좌표계는 0~1까지의 범위를 가지는데, 이를 초과하는 부분은 레스터라이즈 단계에서 걸러서 렌더 자체를 하지 않는다.

  • 픽셀별로 깊이값을 갖는다. 이 깊이 값은 픽셀과 가장 가까운 Depth를 가진 부분의 값을 가진다. 뒤로 갈수록 더 많은 것을 그린다. ex) 1보다는 0.5가 더 많은 것을 그린다.


🌼 스텐실이란?

  • 판에 구멍을 뚫고 여기에 잉크를 통과시켜 찍어내는 공판화 기법의 하나

  • 픽셀의 일반적으로 Depth를 나타내기 위해 4바이트를 사용하는데 정밀도를 줄여 Depth를 3바이트로 줄이고 1바이트를 Stencil 값을 받는다. 이 Stencil 값으로 이후에 Stencil 값을 공통적으로 가지고 있는 것들을 묶어서 색상을 작업을 하는 등 이런 일을 한다.


🌼 Depth 사용법

1) DepthStencilBuffer 클래스를 생성한다.
2) DepthStencilBuffer의 Init을 작성한다.
3) Engine에서 Init을 사용하여 DepthStencilBuffer를 만들어준다.
4) Shader의 pipeline에 Depth와 관련된 부분을 추가해준다.
5) Game 쪽에서 Depth를 지정하고 실행해준다.

profile
학습한 내용을 담은 블로그 입니다.

0개의 댓글