2017-02-16 22 views
3

HLSL 셰이더의 전역 변수에 응용 프로그램 별 메타 데이터를 첨부 할 수있는 방법이 있는지 알고 싶습니다. HLSL이 전역 변수에 annotations을 지원한다는 것을 알고 있지만, 내 애플리케이션에서 사용하지 않는 Effects Framework를 사용하지 않고 리플렉션 API를 통해 해당 주석을 읽는 방법을 찾을 수 없습니다. HLSL의 전역 변수에 응용 프로그램 별 메타 데이터를 첨부 할 수있는 방법이 있습니까?HLSL 전역 (균일/상수) 변수에 메타 데이터를 첨부 할 수있는 방법이 있습니까?

사용 사례를 (. 바람직하게 하지 않고는 변수의 이름에서 특별한 의미를 추론) : 내 응용 프로그램이 float4 전역 색상이나 간단한 4 유동 벡터로 사용 여부를 감지 할 수 있어야합니다. 색상이있는 경우 응용 프로그램은 UI에서 색상 선택기를 사용하여 변수를 표시합니다.

답변

0

효과 프레임 워크 (D3DX에서)를 사용하지 않는 경우 Effects for DX11 라이브러리를 사용하여 이러한 주석의 값을 읽을 수 있습니다. 이 라이브러리는 DirectX SDK 자체의 일부가 아니므로 D3DX와 같이 특히 더 이상 사용되지 않습니다. 사실, 의도 진술의 목적은 다음과 같습니다

효과 (11) 가되지 않는 효과 10 (FX10) API 또는 효과 9 (FX9) API를 사용합니다 것을 이전의 코드에 대한 포팅 원조로 제공되고있다 D3DX9 라이브러리. Effects 10 (FX10) 라이브러리와 의 차이점 목록은 MSDN을 참조하십시오.

주석 이외에 명명 체계 (또는 기타 암시 적 힌트) 이외의 메타 데이터를 변수에 첨부하는 기본 제공 방법이 없습니다.