답변:
테셀레이션은 그래픽 카드에서 프리미티브 (삼각형, 선, 점 등)를 생성 할 수있는 기술입니다. 특히, 현재 지오메트리를 더 미세한 메쉬로 반복적으로 세분화 할 수 있습니다.
이를 통해 그래픽 카드에 비교적 거친 메쉬를로드하고 더 많은 정점과 삼각형을 동적으로 생성 한 다음 화면에 훨씬 매끄럽게 보이는 메쉬를 만들 수 있습니다.
대부분의 경우이 테셀레이션은 각 단일 프레임에서 새로 수행되므로이를 활성화하면 프레임 속도가 저하 될 수 있습니다.
테셀레이션은 여러 단계로 수행되며 정점 셰이더 후에 수행됩니다.
각 단계의 용어는 API에 따라 다릅니다. DirectX에서는 헐 셰이더, 하드웨어 테셀레이션 및 도메인 셰이더입니다. OpenGL에서는 테셀레이션 컨트롤 셰이더, 테셀레이션 프리미티브 생성 및 테셀레이션 평가 셰이더라고합니다.
첫 번째 단계와 마지막 단계는 프로그래밍 가능하며 실제 테셀레이션은 고정 기능 단계에서 하드웨어에 의해 수행됩니다.
테셀레이션 컨트롤 셰이더에서 세분화 유형 및 수를 설정합니다.
그런 다음 하드웨어 테셀 레이터는 컨트롤 셰이더에 따라 형상을 나눕니다.
마지막으로 테셀레이션 평가 셰이더가 새로 생성 된 각 정점에 대해 호출됩니다. 이 셰이더에서는 생성하려는 프리미티브 유형과 정점 간격 및 기타 여러 가지를 설정합니다. 이 쉐이더는 버텍스 쉐이더와 마찬가지로 모든 종류의 버텍스 당 계산을 수행하는 데에도 사용할 수 있습니다. 생성 된 정점마다 적어도 한 번 호출되는 것이 보장됩니다.
프리미티브에 대한 추가 작업을 수행하려는 경우 형상 셰이더를 추가 할 수 있습니다.