다음을 통해 공유


DirectX 표준 주석 및 의미 체계 참조

표준 주석 및 의미 체계(DXSAS)는 셰이더를 도구, 애플리케이션 및 게임 엔진과 함께 사용할 수 있도록 하는 표준 방식으로 셰이더를 사용하는 방법을 제공합니다. DXSAS는 효과를 공유하기 위해 호스트 애플리케이션 값 및 효과 매개 변수에 연결된 의미 체계 및 주석 집합을 정의합니다. 이러한 주석과 의미 체계가 유용하려면 호스트 애플리케이션과 효과 파일 모두에서 구현해야 합니다. 이 문서에서는 DirectX 효과 프레임워크의 기능을 활용하여 호스트 애플리케이션 및 도구가 DirectX 효과(.fx 파일)를 프로그래밍 방식으로 공유하고 UI와의 상호 작용을 디자인할 수 있도록 하는 DXSAS 표준에 대해 설명합니다.

배경 정보

표준 주석 및 의미 체계는 효과 및 X 파일 매개 변수를 호스트 애플리케이션 값에 바인딩하도록 설계되었습니다. D3DX 효과 프레임워크(또는 효과)는 렌더링 상태를 캡슐화합니다. 렌더링 상태(꼭짓점, 질감 및 픽셀 처리 상태 포함)를 효과에 캡슐화하면 다양한 렌더링 옵션을 포함하는 효과 라이브러리를 만들 수 있습니다. 여기에는 다양한 유형의 하드웨어에서 렌더링하거나 단일 또는 다중 패스 혼합으로 렌더링하는 등의 옵션이 포함될 수 있습니다. 효과 프레임워크에 대한 자세한 내용은 효과 참조참조해야 합니다. DXSAS는 개발자에게 보다 일관된 환경을 제공할 수 있도록 이 프레임워크를 기반으로 빌드됩니다. 렌더링 설정이 효과에 캡슐화되면 DXSAS 표준을 사용하면 효과 개발자가 주석을 통해 효과 매개 변수의 의도를 노출할 수 있습니다. 그런 다음, 표준을 준수하는 모든 호스트 애플리케이션 또는 도구(효과를 사용하도록 설계된 것뿐만 아니라)에서 이러한 주석을 읽을 수 있습니다. 이 주석은 디자인된 방식으로 효과를 사용하는 방법을 이해합니다.

애플리케이션 지원을 호스트하는 효과 의미 체계 및 주석 집합을 표준화하면 효과 작성자가 여러 프로젝트에서 사용할 수 있는 효과를 만들어 더 광범위한 효과 사용자 커뮤니티를 승격할 수 있습니다. DXSAS 표준을 사용하면 개발자가 파일을 읽을 수 있고 도구 간에 교환할 수 있으며 개발자는 타사 도구를 활용하여 파이프라인에 대한 효과를 작성할 수 있습니다.

이 문서에서는 주석을 사용하여 효과 매개 변수의 의도를 표현할 뿐만 아니라 호스트 애플리케이션이 효과를 사용할 수 있도록 동의하는 호스트 애플리케이션 값의 컬렉션을 정의하는 DXSAS 표준에 대해 설명합니다.

표준 주석 및 의미 체계를 사용하여 효과 작성

다음 다이어그램에서 볼 수 있듯이 DXSAS 표준에는 효과 파일의 주석과 여기에 설명된 지침을 따르는 호스트 애플리케이션이 필요합니다.

호스트 애플리케이션 및 효과 파일다이어그램

호스트 애플리케이션은 사용자 인터페이스 논리 및 호스트 환경을 구현해야 합니다. DXSAS 규격 효과를 구현하려면 다음 항목을 읽어보세요.

  • 전역 매개 변수 버전 또는 효과 작성자 등의 효과와 관련한 정보를 정의합니다.
  • 데이터 바인딩 효과에 노출되는 호스트 애플리케이션에서 설정할 수 있는 효과에서 사용할 수 있는 매개 변수 컬렉션(형식 및 구조)을 정의합니다.
  • 사용자 인터페이스 컨트롤을 효과 매개 변수와 연결하려면 UI 주석사용합니다. 이러한 주석에는 SasUiMax, SasUiMin, SasUiSteps, SasUiStepsPower및 sasUiStride 포함됩니다.
  • 외부 파일에 포함된 데이터를 사용하여 효과 매개 변수를 초기화하려면 매개 변수 초기화 주석사용합니다.
  • 호스트 애플리케이션과 효과 간에 데이터가 전송되는 경우(또는 그 반대의 경우) 캐스팅 및 변환 형식이 정확히 일치하지 않을 때 발생합니다. 이 섹션에서는 원본 및 대상 형식이 다를 때 데이터를 쓰는 방법을 지정합니다. 또한 ParameterValueModifiers 사용하여 호스트 애플리케이션이 효과 매개 변수에서 읽은 데이터를 해석하는 방법을 수정합니다. 이러한 주석은 다음과 같습니다. SasNormalizeSasUnits.

대/소문자 구분

모든 식별자, 의미 체계 및 주석 값은 대/소문자를 구분하지 않습니다. 주석 이름(값 아님)은 대/소문자를 구분합니다. 주석 이름은 D3DX 효과 시스템에서 인식되므로 SAS 주석 이름도 인식됩니다.

효과 참조