게임/알고 싶다

테셀레이션(tessellation) 란?

jhnambi 2022. 11. 20.
주의 :  이 글의 목적은 자기계발 용도와 게임에서 쓰이는 각종 그래픽스, 그래픽카드 관련 단어 (안티엘리어싱, 셰이더, 텍스쳐 품질등) 들이 처음 보는 사람에게는 굉장히 생소하고 어려워 보이기 때문에 해당 부분에 대한 이해를 쉽게 하기 위해 작성되었습니다.

주의 : 해당분야는 전문적인 분야이며 그리고 실시간 발전되는 기술입니다. 지금도 새로운 기술들이 나오고 있어 틀린 부분이 있을 수도 있습니다. 

 

 

1.게임안에서 물체들은 어떻게 표현될까?

 

3D게임을 하다보면 테셀레이션이라는 단어를 한번쯤은 들어봤을 것이다. 그럼 테셀레이션은 뭘까? 인터넷에 정의된 내용을 보면 다음과 같다.

 

테셀레이션(tessellation)
'타일'(tile)이라고 하는 도형
들로 겹치지 않으면서 빈틈없게 공간을 채우는 것이다. 쪽매맞춤, 쪽매붙임 또는 타일링(tiling)이라고도 한다. // 출저 위키 백과

출저 : 코어오브 아이디어 유튜브

 

 

그럼 테셀레이션 설명에 앞서 우리들이 플레이하는 3D게임안에서 물체들은 어떻게 표현되는 걸까? 이를 살짝 이해하고 넘어가야 테셀레이션이 그래픽 기술에서 어떤 부분에 활용 되는지 알 수 있기에 간단하게 알아보자.

 

먼저 게임이든, 영화든 컴퓨터 그래픽이 사용되는 곳이라면 물체를 모두 삼각형으로 나타 낸다. 삼각형이 제일 기초적인 도형이기 떄문에 구를 나타낸다 하더라도 사실 수많은 삼각형으로 만든 것이다.

 

 

 

이는 컴퓨터 그래픽이 꼭짓점을 기준으로 물체를 인식하기 때문이다. 구를 삼각형으로 만들게 되면 꼭 짓점을 기준으로 인식하기 때문에 어쩔 수 없이 부드러워야 하는 구의 표면이 약간 각지게 된다.

 

 

위 그림에서 원 하나를 클릭해보면 맨위 Vertx 꼭지점이 960개, Face 면이 320개나 가지고 있다.

 

 

이 과정에서 영화나 광고에 사용되는 컴퓨터 그래픽이 게임과 큰 차이점이 발생하게 되는데 에를 들어 영화에서 사용되는 컴퓨터 그래픽에서는 이 버텍스와 면의 갯수가 상상도 할 수 없을만큼 많은 반면(더 현실적)  게임에서 사용되는 그래픽은 많이 간소화 되기떄문에 저 버텍스와 면의 갯수가 영화에 비해 몇십배, 몇백배까지도 차이가 발생하게 된다.

 

 

게임은 일초동안 여러 장면을 볼수 있지만 영화의 장면은 슈퍼컴퓨터를 통해 몇달동안 장면을 뽑는 서로간의 특징이 다르기 때문이다.

 

 

잘만든 영화 CG는 현실과 다를 바가 없게 느껴진다.

 

 

2. 테셀레이션

 

하지만 테셀레이션을 통해서 게임도 영화 컴퓨터 그래픽에 가까운 결과물을 만들 수 있다. 테셀레이션은 앞에서 말했듯이 물체를 면을 더 잘게 나누어 물체의 면의 갯수를 늘리는 기술이다.

 

 

간단하게 물체를 더 잘게 나누는 것이다. 하지만 단순하게 물체를 더 잘게 나누기만 하면 그 전과 큰차이가 없을 것이다. 단순히 테셀레이션 만으로는 그리 큰효과가 없는데 왜 테셀레이션 기술이 쓰일까?

 

게임 그래픽은 이전부터 눈속임을 위해  여러가지 그래픽 기법을 사용했는데, 이때 테셀레이션과 관계가 깊은 입체감을 위한 2가지 방법이 있다. 범프맵과 노말맵이다. 간단하게만 설명 하자면

 

  • 노말맵 : 물체의 X부분은 더밝게 출력하고 Y는 더 어둡게 출력해서 입체감을 주는 방식

노말맵

 

하지만 진짜 물체를 엄청 입체감 있게 만드는 방식이 아니라서 한계가 존재 하였다. 여기서 테셀레이션이 물체를 더 잘게 나눔으로서 입체감을 분명하게 줄 수 있었는데 이건 테셀레이션 그 자체만으로는 아무런 의미가 없지만 위에 위에 말한 범프맵, 노말맵등의 기법과 합쳐져야지 테셀레이션의 효과가 나오는 것이다.

 

그래서 테셀레이션과 같이 사용되는 기술은 디스플레이스먼트맵이다.

 

 

디스플레이스먼트맵

displacement mapping은 일일이 모델링하기 힘든 굴곡들을 displacement map으로 적용된 이미지의 밝고, 어두움을 기준으로 형성해주는 기법이다. 밝은 곳은 튀어나오고, 어두운 곳은 들어가도록 모델링한다.

 

 

 

디스플레이스먼트맵은 이 꼭짓점은 더 높게 만들어라, 저 꼭짓점은 더 낮게 만들어라 하는등의 정보가 담겨있는데, 테셀레이션이 없어서 물체가 잘게 나누어지지 않을때는 꼭짓점(버텍스) 갯수가 별로 없어 효과가 미비하지만, 테셀레이션이 적용되고 꼭짓점(버텍스) 갯수가 많아지면 그 입체감이 엄청 향상한다. 그리고 물체가 엄청 디테일해진다.

 

 

DirectX11 부터 테셀레이션을 지원하는 모듈이 사용되었어서 X11 이후부터 테셀레이션 적용이 된 게임들이 많이 출시되기 시작했고 대표적으로 GTA5가 있다. 그당시 GTA5를 플레이하면서 그래픽의 발전을 볼 수 있었다.

 

https://www.gamersnexus.net/guides/1936-what-is-tessellation-game-graphics#:~:text=%E2%80%9CTessellation%E2%80%9D%20isn%27t%20an%20entirely%20new%20technology%20%E2%80%93%20Epic,tessellation%20toggle%20that%20can%20be%20tweaked%20for%20performance.

 

언젠가 이런 기법의 적용 없이도 우리가 현실 보는 두눈 처럼 컴퓨터 그래픽을 마주할 수 있는 세상이 오는걸 볼 수 있을까?

'게임 > 알고 싶다' 카테고리의 다른 글

게임 엔진이란?  (2) 2022.12.03
물리엔진이란?  (2) 2022.11.27
다이렉트X 란?  (0) 2022.11.20
RTX란? 2편  (0) 2022.11.19
RTX란? 1편  (0) 2022.11.17

댓글