본문 바로가기
IT 기술/Direct3D

Direct3D 렌더링 파이프라인(테셀레이션 단계) part3_22일차

by 썬's 2023. 1. 30.

안녕하세요 보글리아입니다.

이전 시간부로 렌더링 파이프라인의 5단계 중 2단계인 VS 단계를 마쳤습니다.

그럼 오늘은 원래 예정이라면 3단계 RS 단계를 나가야 하지만,

제 개인적인 판단에 테셀레이션 단계도 중요한 단계라 설명해야 할 것 같아

금일 테셀레이션 단계에 대한 설명을 하겠습니다.

※제 수업은 이전주차에서 배운 개념을 재차 설명하지 않습니다※

※본 수업에 나가기 전 용어 정의부터 하겠습니다※


용어 정의

  • 객체 : 하나의 물체, 예) 큐브, 비행기, 게임 캐릭터 등
  • 폴리곤(polygon) : 삼각형으로 메시를 이루고 있는 것
  • 메시(mesh) : 3차원 객체 내 삼각형들의 집합체로 이루어진 것
  • 컴퓨터 메모리(RAM) : 컴퓨터가 실시간으로 사용하는 정보를 저장
  • 렌더링 : 2차원 이미지를 3차 데이터로 변환하는 과정

테셀레이션 단계

Direct3D에서 테셀레이션 단계는 좀 더 세밀한 메시를 만드는 단계라고 보시면 됩니다.

화면상에 생성할 객체를 만드셨다면, 이 객체의 메시를 이루고 있는  삼각형들을 더 잘게 쪼개서 새로운 삼각형을 만들 수 있습니다. 이 과정을 테셀레이션 단계라고 합니다.

 

하단 이미지를 보시면 왼쪽에 구 객체의 메시는 기본값 메시입니다. 즉, 구가 기존에 가지고 있는 삼각형입니다.

이 구의 메시 내 삼각형을 더 잘게 쪼개 가운데 구처럼 만들고, 또 이 구의 삼각형을 잘게 쪼개 오른쪽 구처럼 만들 수 있습니다. 이런 방식으로 삼각형을 잘게 쪼개 좀 더 세밀한 메시를 만들 수 있습니다.

어떠신가요?? 왼쪽 구와 비교했을 때, 가운데 구가 조금 더 세밀해 보이실까요? ㅎ

테셀레이션
테셀레이션(tessellation)

 

여러분들은 렌더링 파이프라인 중 테셀레이션 단계는 원할 때만 사용하셔도 되기 때문에 이 단계를 생략해도 되지만, 향후 프로젝트가 커지면서 객체마다 메시의 삼각형들을 쪼개 조금 더 세밀한 메시를 만들어 객체를 표현할 수 있습니다.

 

이러한 테셀레이션 단계를 거쳤을 때 생기는 장점은 다음과 같습니다.

  1. 컴퓨터 메모리 상에 다각형의 삼각형 수가 적은 메시를 일단 담아두고, 필요할 때마다 삼각형을 추가해 메모리에 적용할 수 있습니다.
  2. 애니메이션이나 물리 처리와 같은 단순한 연산에만 저다각형 메시를 사용하고, 고다각형 메시(삼각형 수가 많은 메시)는 렌더링에만 사용해서 계산량을 줄일 수 있습니다.
  3. 카메라에 가까운 삼각형은 테셀레이션을 적용해 메시의 세부도를 높이고, 멀리 있는 삼각형은 테셀레이션을 적용하지 않은 방식인 세부 수준(level of detail, LOD)을 구현할 수 있습니다.

여기서 LOD에 대한 추가적인 설명을 하자면, 화면 상에 지형을 생성한다고 했을 카메라에 가까운 부분은 메시의 삼각형을 잘게 쪼개 좀 더 세밀하게 보이게 하고 카메라에 멀리 있는 부분은 삼각형을 거의 쪼개지 않게 해서 일부분만 세밀하게 적용하실 수 있습니다.


오늘은 렌더링 파이프라인의 테셀레이션 단계를 알아봤습니다.

이 단계는 굳이 사용하지 않아도 되기 때문에 꼭 아실 필요는 없지만, 일단은 이런 게 있구나 하시고 넘어가시면 됩니다.

그럼 다음 시간에는 렌더링 파이프라인의 3단계인 레스터화기(RS) 단계를 나가보겠습니다~~

댓글