D3DPreprocess 함수(d3dcompiler.h)
컴파일되지 않은 HLSL 코드를 전처리합니다.
통사론
HRESULT D3DPreprocess(
[in] LPCVOID pSrcData,
[in] SIZE_T SrcDataSize,
[in, optional] LPCSTR pSourceName,
[in, optional] const D3D_SHADER_MACRO *pDefines,
[in, optional] ID3DInclude *pInclude,
[out] ID3DBlob **ppCodeText,
[out, optional] ID3DBlob **ppErrorMsgs
);
매개 변수
[in] pSrcData
형식: LPCVOID
컴파일되지 않은 셰이더 데이터에 대한 포인터입니다. ASCII HLSL 코드 또는 컴파일된 효과
[in] SrcDataSize
형식: SIZE_T
pSrcData길이입니다.
[in, optional] pSourceName
형식: LPCSTR
컴파일되지 않은 HLSL 코드를 포함하는 파일의 이름입니다.
[in, optional] pDefines
형식: const D3D_SHADER_MACRO*
NULL로 끝나는 매크로 정의의 배열입니다(D3D_SHADER_MACRO참조).
[in, optional] pInclude
형식: ID3DInclude*
포함 파일을 처리하기 위한 ID3DInclude 대한 포인터입니다. 이를 NULL 설정하면 셰이더에 #include 포함된 경우 컴파일 오류가 발생합니다. 기본 포함 처리기에 대한 포인터인 D3D_COMPILE_STANDARD_FILE_INCLUDE 매크로를 전달할 수 있습니다. 이 기본 포함 처리기에는 현재 디렉터리를 기준으로 하는 파일과 초기 소스 파일의 디렉터리를 기준으로 하는 파일이 포함됩니다. D3D_COMPILE_STANDARD_FILE_INCLUDE사용하는 경우 pSourceName 매개 변수에서 원본 파일 이름을 지정해야 합니다. 컴파일러는 pSourceName초기 상대 디렉터리를 파생합니다.
#define D3D_COMPILE_STANDARD_FILE_INCLUDE ((ID3DInclude*)(UINT_PTR)1)
[out] ppCodeText
형식: ID3DBlob**
전처리된 코드에 액세스하는 데 사용할 수 있는 ID3DBlob 인터페이스에 대한 포인터를 받는 변수에 대한 포인터입니다.
[out, optional] ppErrorMsgs
형식: ID3DBlob**
컴파일러 오류 메시지가 포함된
반환 값
형식: HRESULT
Direct3D 11 반환 코드중 하나를 반환합니다.
발언
D3DPreprocess는#line 지시문을 출력하고 원본 입력의 줄 번호 매기기를 유지하므로 출력 줄 번호 매기기를 입력 원본과 제대로 연결할 수 있습니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | Windows |
헤더 | d3dcompiler.h |
라이브러리 | D3dcompiler_47.lib |
DLL | D3dcompiler_47.dll |