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

참조

함수