통합 셰이더 모델

통합 셰이더 모델(Unified shader model, Direct3D 10에서는 "셰이더 모델 4.0")은 3차원 컴퓨터 그래픽스 분야에서 모든 셰이더렌더링 파이프라인(지오메트리, 정점, 픽셀 등)은 동일한 기능을 갖는다. 이것들은 모두 텍스처와 버퍼를 읽을 수 있으며 거의 동일한 명령어 집합을 사용한다.

통합 셰이더 모델은 버텍스와 조각(fragment) 처리를 위해 동일한 하드웨어 자원을 사용한다.

역사 편집

이전 GPU에는 일반적으로 두 가지 유형의 셰이더 하드웨어가 포함되어 있었는데, 버텍스 셰이더는 단순한 픽셀 셰이더보다 훨씬 더 많은 명령을 가지고 있었다. 이는 전체적으로 GPU 구현 비용을 낮추고 단일 장치에서 총 더 많은 셰이더를 허용했다. 이로 인해 시스템의 유연성이 떨어지게 되었고, 워크로드가 다른 셰이더보다 한 셰이더를 더 많이 사용한 경우 한 셰이더 세트를 유휴 상태로 두는 경우도 있었다. 제작의 개선이 계속됨에 따라 이러한 구분은 덜 유용해졌다. ATI 테크놀로지스엑스박스 360용으로 개발한 하드웨어에 통합 아키텍처를 도입했다. 엔비디아는 테슬라 디자인을 빠르게 따라갔다. AMD는 2년 후 테라스케일 (마이크로아키텍처) 라인에 카드 형태의 통합 셰이더를 도입했다. 그 개념은 그 이후로 보편적이었다.

초기 셰이더 추상화(예: 셰이더 모델 1.x)는 정점 셰이더와 픽셀 셰이더에 대해 매우 다른 명령 세트를 사용했으며 정점 셰이더는 훨씬 더 유연한 명령 세트를 가졌다. 최신 셰이더 모델(예: 셰이더 모델 2.x 및 3.0)에서는 차이가 줄어들어 통합 셰이더 모델에 접근했다. 통합 모델에서도 명령어 세트는 서로 다른 셰이더 유형 간에 완전히 동일하지 않을 수 있다. 셰이더 단계마다 몇 가지 차이점이 있을 수 있다. 조각/픽셀 셰이더는 암시적 텍스처 좌표 그라데이션을 계산할 수 있는 반면, 지오메트리 셰이더는 렌더링 프리미티브를 내보낼 수 있다.