다음을 통해 공유


동적 연결

그래픽 개발자는 다양한 장면 항목에서 사용할 수 있는 대형 범용 셰이더를 만드는 경우가 있습니다. 런타임에 셰이더는 지정된 상황에 적합한 코드를 조건부로 실행합니다. 불행하게도 이러한 대형 범용 셰이더는 GPR(범용 레지스터)을 비효율적으로 사용하며 작고 대상이 많은 셰이더보다 훨씬 느릴 수 있습니다.

셰이더 모델 5는 동적 셰이더 연결을 도입하여 이 성능 문제를 해결합니다. 동적 연결은 인터페이스와 가상 함수를 사용하여 셰이더 코드 조각을 분리하고 애플리케이션이 그리기 시간에 사용할 조각을 선택할 수 있도록 합니다. 이렇게 하면 대형 범용 셰이더 전체가 아닌 필요한 셰이더 코드만 바인딩하여 성능이 개선됩니다.

섹션 내용

항목 설명
셰이더가 공유할 변수 및 형식 저장
여러 셰이더가 공유할 수 있는 변수 및 형식을 저장하기 위한 클래스 연결 개체에 대해 설명합니다.
인터페이스 및 클래스
HLSL 인터페이스 및 클래스를 사용하여 동적 연결을 구현하는 방법을 설명합니다.
인터페이스 사용 제한
셰이더 코드에서 인터페이스 사용에 대한 제한 사항을 설명합니다.

HLSL