동적 연결
그래픽 개발자는 다양한 장면 항목에서 사용할 수 있는 대형 범용 셰이더를 만드는 경우가 있습니다. 런타임에 셰이더는 지정된 상황에 적합한 코드를 조건부로 실행합니다. 불행하게도 이러한 대형 범용 셰이더는 GPR(범용 레지스터)을 비효율적으로 사용하며 작고 대상이 많은 셰이더보다 훨씬 느릴 수 있습니다.
셰이더 모델 5는 동적 셰이더 연결을 도입하여 이 성능 문제를 해결합니다. 동적 연결은 인터페이스와 가상 함수를 사용하여 셰이더 코드 조각을 분리하고 애플리케이션이 그리기 시간에 사용할 조각을 선택할 수 있도록 합니다. 이렇게 하면 대형 범용 셰이더 전체가 아닌 필요한 셰이더 코드만 바인딩하여 성능이 개선됩니다.
섹션 내용
항목 | 설명 |
---|---|
셰이더가 공유할 변수 및 형식 저장 |
여러 셰이더가 공유할 수 있는 변수 및 형식을 저장하기 위한 클래스 연결 개체에 대해 설명합니다. |
인터페이스 및 클래스 |
HLSL 인터페이스 및 클래스를 사용하여 동적 연결을 구현하는 방법을 설명합니다. |
인터페이스 사용 제한 |
셰이더 코드에서 인터페이스 사용에 대한 제한 사항을 설명합니다. |