D3DCompileFromFile 함수(d3dcompiler.h)
구문
HRESULT D3DCompileFromFile(
[in] LPCWSTR pFileName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[in] LPCSTR pEntrypoint,
[in] LPCSTR pTarget,
[in] UINT Flags1,
[in] UINT Flags2,
[out] ID3DBlob **ppCode,
[out, optional] ID3DBlob **ppErrorMsgs
);
매개 변수
[in] pFileName
셰이더 코드가 포함된 파일의 이름을 포함하는 null로 끝나는 상수 문자열에 대한 포인터입니다.
[in, optional] pDefines
셰이더 매크로를 정의하는 D3D_SHADER_MACRO 구조체의 선택적 배열입니다. 각 매크로 정의에는 이름과 null로 끝나는 정의가 포함됩니다. 사용하지 않으면 을 NULL로 설정합니다. 배열의 마지막 구조체는 종결자로 사용되며 모든 멤버가 NULL로 설정되어야 합니다.
[in, optional] pInclude
컴파일러가 포함 파일을 처리하는 데 사용하는 ID3DInclude 인터페이스에 대한 선택적 포인터입니다. 이 매개 변수를 NULL 로 설정하고 셰이더에 #include 포함하는 경우 컴파일 오류가 발생합니다. 기본 포함 처리기에 대한 포인터인 D3D_COMPILE_STANDARD_FILE_INCLUDE 매크로를 전달할 수 있습니다. 이 기본 포함 처리기에는 현재 디렉터리를 기준으로 하는 파일이 포함됩니다.
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[in] pEntrypoint
셰이더 실행이 시작되는 셰이더 진입점 함수의 이름을 포함하는 null로 끝나는 상수 문자열에 대한 포인터입니다. 효과를 컴파일할 때 D3DCompileFromFile은 pEntrypoint를 무시합니다. 호출된 함수가 사용하지 않을 경우 포인터 매개 변수를 NULL로 설정하는 것이 좋은 프로그래밍 방식이므로 pEntrypoint를 NULL로 설정하는 것이 좋습니다.
[in] pTarget
컴파일할 셰이더 대상 또는 셰이더 기능 집합을 지정하는 null로 끝나는 상수 문자열에 대한 포인터입니다. 셰이더 대상은 셰이더 모델(예: 셰이더 모델 2, 셰이더 모델 3, 셰이더 모델 4 또는 셰이더 모델 5 이상)일 수 있습니다. 대상은 효과 유형일 수도 있습니다(예: fx_4_1). 다양한 프로필이 지원하는 대상에 대한 자세한 내용은 컴파일러 대상 지정을 참조하세요.
[in] Flags1
비트 OR 연산을 사용하여 결합된 셰이더 컴파일 옵션의 조합입니다. 결과 값은 컴파일러가 HLSL 코드를 컴파일하는 방법을 지정합니다.
[in] Flags2
비트 OR 연산을 사용하여 결합된 효과 컴파일 옵션의 조합입니다. 결과 값은 컴파일러가 효과를 컴파일하는 방법을 지정합니다. 효과 파일이 아닌 셰이더를 컴파일하는 경우 D3DCompileFromFile 은 Flags2를 무시합니다. 호출된 함수가 이 매개 변수를 사용하지 않는 경우 nonpointer 매개 변수를 0으로 설정하는 것이 좋은 프로그래밍 방식이므로 Flags2 를 0으로 설정하는 것이 좋습니다.
[out] ppCode
컴파일된 코드에 액세스하는 데 사용할 수 있는 ID3DBlob 인터페이스에 대한 포인터를 수신하는 변수에 대한 포인터입니다.
[out, optional] ppErrorMsgs
컴파일러 오류 메시지에 액세스하는 데 사용할 수 있는 ID3DBlob 인터페이스에 대한 포인터를 수신하는 변수에 대한 선택적 포인터이거나 오류가 없는 경우 NULL 입니다.
반환 값
Direct3D 11 반환 코드 중 하나를 반환합니다.
설명
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3dcompiler.h |
라이브러리 | D3DCompiler.lib |
DLL | D3DCompiler_47.dll |