Hull Shader(헐 쉐이더):
테셀레이션을 수행하며 프로스텀컬링,백컬링을 수행하고 테셀레이션을 수행
Domain Shader(도메인 쉐이더):
테셀레이터에 의해 생성된 중점에 가중치를 적용하고 UV좌표를 추가 ->
뷰프로젝션 행렬을 변환하고 픽셀셰이더에 넘김(지오메트쉐이더단계는 없음)
확인샘플:
DirectXSmaple/PNTTriagles11,Decal/DetailTessllation11/AdaptiveTessellation.hlsl
Geometry Shader(지오메트리 쉐이더):
DX10에서 버텍스수를 늘리는 과정이 수행되는 쉐이더.
확인샘플:
DirectXSample\Tutorial13\Tutorial13.hlsl
결론:
DX11의 그래픽스파이라인에는 Geometry 쉐이더를 사용하는것 처럼 나오지만,
어떠한 예제에도 Geometry쉐이더는 사용하지않고 도메인 쉐이더단계에서 테셀레이션이 완료되고 10에서는 테셀레이션과 유사한 기능(버텍스 늘리기)을 당담하는 쉐이더였으나 DX11에서는 Geometry쉐이더는 사용되지 않고 있음.
해당 결론에 문제가 있다고 생각되신다면 꼭 댓글을 남겨주시고, 꼭 한수 가르쳐주시면 감사하겠습니다!
참고:
DX10파이프라인스테이지: https://docs.microsoft.com/en-us/windows/desktop/direct3d10/d3d10-graphics-programming-guide-pipeline-stages
DX11그래픽스 파이프라인: https://docs.microsoft.com/en-us/windows/desktop/direct3d11/overviews-direct3d-11-graphics-pipeline
DX샘플브라우져 샘플: AdaptiveTessellation.hlsl(dx11),Tutorial13.hlsl(dx10)
댓글
댓글 쓰기