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 에 대한 포인터입니다. 셰이더에 #include 포함된 경우 이를 NULL 로 설정하면 컴파일 오류가 발생합니다. 기본 포함 처리기에 대한 포인터인 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**
컴파일러 오류 메시지가 포함된 ID3DBlob 에 대한 포인터이거나 오류가 없는 경우 NULL 입니다.
반환 값
형식: HRESULT
Direct3D 11 반환 코드 중 하나를 반환합니다.
설명
D3DPreprocess 는 #line 지시문을 출력하고 원본 입력의 줄 번호 매기기를 유지하므로 출력 줄 번호 매기기를 입력 원본과 제대로 관련될 수 있습니다.
요구 사항
대상 플랫폼 | Windows |
헤더 | d3dcompiler.h |
라이브러리 | D3dcompiler_47.lib |
DLL | D3dcompiler_47.dll |