테셀레이터는 3단계로 구성되어 있습니다.
HullShader -> Tesselation -> DomainShader 단계를 거칩니다.
[HullShader]
HullShader는 테셀레이터 작업의 첫 단계입니다.
VertexShader에서 공간변환을 진행하지 않고 HullShader 정점정보들을 전달해 줍니다.
HullShader는 폴리곤을 얼마나 분할할 것인지를 결정하는 단계입니다.
[Tesselation]
아래는 테셀레이션 적용 전과 후의 그림입니다.
테셀레이터는 다각형을 겹치지 않고 작게 만들어 빈틈을 없애 오브젝트를 실제에 보다 가깝게 표현할 수 있게 도와주는 기술입니다.
[Domain Shader]
Domain Shader는 테셀레이터가 출력한 정점마다 한 번씩 함수(쉐이딩 언어)를 호출하게 해 줍니다.
테셀레이션이 활성화되면 기존의 Vertex Shader에서 수행한 것들을 Domain Shader에서 수행하게 됩니다.
예를 들면, 공간변환(월드 -> 뷰 -> 투영)이 될 수 있습니다.
실제 게임을 제작할 때는 로우 폴리곤(Low Polygon)과 하이 폴리곤(High Polygon) 모델 두 개를 지원하는 경우가 많습니다.
'DirectX 11' 카테고리의 다른 글
DirectX 11 - Rasterization (0) | 2024.05.31 |
---|---|
DirectX 11 - Geometry Shader (0) | 2024.05.31 |
DirectX 11 - Vertex Shader (2) | 2024.05.31 |
DirectX 11 - Input Assembler (1) | 2024.05.31 |
DirectX 11 - 렌더링 파이프라인 (0) | 2024.05.31 |