테셀레이션 vs 지오메트리 셰이더


11

내가 틀렸다면 수정하지만 Geometry Shader와 Tessellation Shader 작업은 모두 그래픽 파이프 라인에서 정점을 생성해야합니다. 내가 알고 싶은 것은 그것들이 어떻게 다른지 그리고 언제 다른 것을 사용해야합니까?


6
나는 완전한 답을 쓰기 너무 게으른 느끼고 있지만, 그것의 요점은 지오메트리 셰이더는 테셀레이션 스테이지는 대규모 동적 다각형 증폭위한 아주 작은, 고정 증폭 레벨을위한 것입니다
MickLH

답변:


14

실제로, 기하학 쉐이더 (GS)의 '작업'은 기본 평가입니다.

지오메트리 셰이더는 테셀 레이트 할 수 있지만 a) 출력 요소 수에 대한 프로세스 내 상한 및 b) 단일 셰이더 내 실행에 의해 제한됩니다. 물론 셰이더 인스턴스화는 두 번째 문제를 완화하지만 전체 지오메트리 셰이더는 테셀레이션보다 기본 평가 및 / 또는 값 보간에 더 효과적입니다.

이에 비해 테셀레이션 셰이더 (TS)는 형상 밀도를 향상시키기 위해 특별히 도입되었으므로 성능이 뛰어나고 알고리즘의 범위가 넓어졌으며 (출력 의도 된) 출력 제한 버퍼에 의해 제한이 적습니다.

Daniel Rákos는 GS / TS 진화에 대한 좋은 기사를 가지고 있습니다 : 하드웨어 테셀레이션의 역사

각각의 적용시기는 '작업에 적합한 도구 사용'의 경우이며 여기에 방법이 있습니다. 뷰 또는 장면 기반 테셀레이션의 범위를 별도로 지정한 다음 TS를 GS 앞에 삽입하여 프리미티브의 밀도를 높이면 이미 설계된 GS로 전달됩니다. 다른 TS를 시도하고 대안을 구축하고 파이프 라인으로 바꾸려면 인스턴스화 된 GS를 사용하여 기본 속성을 기반으로 올바른 TS를 동적으로 선택할 수도 있습니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.