효과 렌더링(Direct3D 10)
효과를 사용하여 정보를 저장하거나 상태 그룹을 사용하여 렌더링할 수 있습니다. 각 기술은 꼭짓점 셰이더, 기하 도형 셰이더, 픽셀 셰이더, 셰이더 상태, 샘플러 및 텍스처 상태 및 기타 파이프라인 상태를 지정합니다. 따라서 상태를 효과로 구성한 후에는 효과를 만들고 렌더링하여 해당 상태에서 발생하는 렌더링 효과를 캡슐화할 수 있습니다.
렌더링 효과를 준비하기 위한 몇 가지 단계가 있습니다. 첫 번째는 HLSL 언어 구문 및 효과 프레임워크 규칙에 대한 코드와 같은 HLSL을 검사 컴파일입니다. API 호출을 사용하여 애플리케이션에서 효과를 컴파일하거나 효과 컴파일러 유틸리티를 사용하여 오프라인으로 효과를 컴파일할 수 있습니다. 효과가 성공적으로 컴파일되면 다른(하지만 매우 유사한) API 집합을 호출하여 만듭니다.
효과를 만든 후에는 두 가지 다시 기본 단계가 있습니다. 먼저 상태를 설정하는 여러 메서드를 사용하여 효과 상태 값(효과 변수의 값)을 초기화해야 합니다. 일부 변수의 경우 효과가 생성될 때 한 번 수행할 수 있습니다. 애플리케이션이 렌더링 루프를 호출할 때마다 다른 항목이 업데이트되어야 합니다. 효과 변수가 설정되면 기술을 적용하여 효과를 렌더링하도록 런타임에 지시합니다. 이러한 항목은 모두 아래에서 자세히 설명합니다.
당연히 효과 사용에 대한 성능 고려 사항이 있습니다. 효과를 사용하지 않는 경우 이러한 고려 사항은 대부분 동일합니다. 상태 변경의 양을 최소화하거나 빈도로 업데이트해야 하는 변수를 구성하는 등의 작업을 수행합니다. 이러한 전술은 CPU에서 GPU로 전송해야 하는 데이터의 양을 최소화하여 잠재적인 동기화 문제를 최소화하는 데 사용됩니다.
관련 항목