2. DX11과 테셀레이션 (Tessellation)의 등장

DirectX API가 표준으로 선택된 이후 DirectX 7 세대의 하드웨어 T&L, DirectX 8/ 9 세대의 쉐이더 (Shader), DirectX 10 세대의 통합 쉐이딩 아키텍처 (Unified Shading Architecture)의 도입, 그리고 DirectX 11 세대는 DirectX 10에서 제공하지 않았던 테셀레이션과 같은 기술도 도입되고 있다.
DX11의 등장으로 달라진 그래픽 환경
DirectX 8/ 9 세대에서 DirectX 10/ 10.1로의 전환은 DirectX 10/ 10.1에서 DirectX 11로의 전환보다 많은 변화가 이루어졌다. 대표적으로 버텍스와 픽셀 쉐이더로 나뉘던 쉐이더가 통합 쉐이딩 아키텍처 (Unified Shading Architecture)의 적용으로 유연성을 크게 높이고 처리 효율 개선과 불필요한 부분의 성능 저하를 줄이고 범용적인 프로세서 호환도 가능하게 되었다.

[DirectX 11 파이프라인 구조]
DirectX 11은 이미 DirectX 10/ 10.1에서 많은 변화가 이루어지지 않았기 때문에 이전 세대의 전환처럼 획기적인 변화는 이루어지지 않았지만, 이전 세대의 부족한 부분을 개선하는데 중점을 두고 있다. 특히, 고정유닛으로 처리했던 부분의 프로그래머블화, GPU 범용성 증대 즉, GPGPU 처리 및 효율성 개선, 멀티스레딩 강화의 변화가 이루어졌다.
DirectX 11의 이러한 변화의 중심에 있는 것 중의 하나는 테셀레이터 (Tessellator)를 이용한 그래픽 효과의 개선과 처리 성능의 개선을 들 수 있다. 최근 게임들은 지오메트리를 통해 현실적인 인물과 사물 표현이 가능해졌고 테셀레이션 (Tessellation)을 통해 보다 정교하고 사실적인 효과를 만들어낼 수 있게 되었다. 테셀레이션은 영화에서 필수적으로 사용하고 있는 것으로 알려져 있다.
DX11과 테셀레이션의 등장

[DX11 테셀레이션 구조, Hull/ Domain/ 테셀레이터]
테셀레이션 (Tessellation)에서 언급되는 테셀레이터 (Tessellator)는 AMD ATI가 먼저 도입한 것으로 라데온 HD 2900시리즈에서부터 이미 포함되었으며, 라데온 HD 3000/ 4000 시리즈까지 이어졌다. 하지만, 이 때는 표준으로 제정된 스펙이 아니었기 때문에 DirectX 11에 포함된 테셀레이터와는 지원에 차이가 있었으며, 엔비디아 (NVIDIA)는 DirectX 10/ 10.1 지원까지는 이를 포함하지 않았었다.
DirectX 11이 등장하면서 마이크로소프트 (Microsoft, MS)가 테셀레이션을 표준으로 채택함으로써 엔비디아도 DirectX 11 지원 지포스 GTX 400 시리즈들에는 이를 포함하기 시작했다.
테셀레이터는 앞서 언급했던 것처럼 DirectX 11에서는 유연성을 높이고 하드웨어 의존도를 줄이고 단순히 정점 데이터 생성이 주요한 역할 (폴리곤 (3차원 그래픽에서 입체형상 표현시 사용되는 가장 작은 단위의 다각형)을 몇 단계로 얼마나 세분화 할 것인가와 컨트롤 포인트를 기초로 폴리곤을 더 잘게 쪼개는 역할)이다. 테셀레이터와 함께 추가된 Hull Shader가 테셀레이터를 제어하고 테셀레이트된 버텍스 (정점 생성)는 Domain Shader가 맡아 진행한다.

[DX10 적용 화면]

[DX10 와이어프레임]

[DX11과 테셀레이션 적용 화면, 입체감 증가]

[DX 11과 테셀레이션 (Tessellation) 와이어 프레임]
테셀레이션은 쉽게 말해 다각형을 겹치지 않고 작게 만들어 빈틈을 없애 게임 등에 적용시 사물이나 인물 등을 실제에 보다 가깝게 표현할 수 있게 만들어주는 기술이다. 와이어프레임 상태에서 테셀레이션이 적용된 경우와 그렇지 않은 경우를 보면 테셀레이션이 적용되면 폴리곤이 크게 늘어난다. 실제 이미지에서도 용의 스파이크나 바닥의 돌, 지붕 등이 입체감이 증가된다.
특히, 과거에는 화려하고 사실적인 그래픽 효과를 표현하기 위해 폴리곤을 무한정 늘리거나 고해상도 이미지를 사용하여 GPU에 부하가 걸리고 성능의 하락까지 발생되어 적절한 수준의 성능과 품질을 고려해서 게임들이 만들어졌다.
테셀레이션이 도입되면서 폴리곤을 무한으로 늘리거나 고해상도 이미지를 처리하지 않아도 테셀레이션을 통해 이러한 작업들을 대체하면서 GPU 부하를 줄이면서 이미지 품질과 성능 하락을 줄일 수 있게 되었다. 이를 바탕으로 게임 개발사는 게임 개발 시간을 단축할 수 있게 되고 있다.