D3DX10CompileFromResource 함수

참고

이 레거시 함수를 사용하는 대신 Fxc.exe 명령줄 컴파일러를 사용하여 오프라인으로 컴파일하거나 D3DCompile API를 사용하는 것이 좋습니다.

 

리소스에서 셰이더 또는 효과를 컴파일합니다.

구문

HRESULT D3DX10CompileFromResource(
  _In_        HMODULE            hSrcModule,
  _In_        LPCTSTR            pSrcResource,
  _In_        LPCTSTR            pSrcFileName,
  _In_  const D3D_SHADER_MACRO *pDefines,
  _In_        LPD3D10INCLUDE     pInclude,
  _In_        LPCSTR             pFunctionName,
  _In_        LPCSTR             pProfile,
  _In_        UINT               Flags1,
  _In_        UINT               Flags2,
  _In_        ID3DX10ThreadPump  *pPump,
  _Out_       ID3D10Blob         **ppShader,
  _Out_       ID3D10Blob         **ppErrorMsgs,
  _Out_       HRESULT            *pHResult
);

매개 변수

hSrcModule [in]

형식: HMODULE

셰이더를 포함하는 리소스 모듈에 대한 핸들입니다. HMODULE은 GetModuleHandle 함수를 사용하여 가져올 수 있습니다.

pSrcResource [in]

형식: LPCTSTR

셰이더를 포함하는 리소스의 이름입니다. 컴파일러 설정에 유니코드가 필요한 경우 데이터 형식 LPCTSTR이 LPCWSTR로 확인됩니다. 그렇지 않으면 데이터 형식이 LPCSTR로 확인됩니다.

pSrcFileName [in]

형식: LPCTSTR

선택 사항입니다. 오류 메시지에만 사용되는 효과 파일 이름입니다. NULL일 수 있습니다.

pDefines [in]

형식: const D3D_SHADER_MACRO*

선택 사항입니다. 매크로 정의 배열에 대한 포인터입니다( D3D_SHADER_MACRO 참조). 배열의 마지막 구조체는 종결자로 사용되며 모든 멤버를 0으로 설정해야 합니다. 사용하지 않으면 pDefines를NULL로 설정합니다.

pInclude [in]

형식: LPD3D10INCLUDE

선택 사항입니다. 포함 파일을 처리하기 위한 ID3D10Include 인터페이스 인터페이스에 대한 포인터입니다. 셰이더에 #include 포함된 경우 이를 NULL 로 설정하면 컴파일 오류가 발생합니다.

pFunctionName [in]

형식: LCSTTR

셰이더 실행이 시작되는 셰이더 진입점 함수의 이름입니다. 효과를 컴파일할 때 D3DX10CompileFromResource는 pFunctionName을 무시합니다. 호출된 함수가 사용하지 않을 경우 포인터 매개 변수를 NULL로 설정하는 것이 좋은 프로그래밍 방식이므로 pFunctionNameNULL로 설정하는 것이 좋습니다.

pProfile [in]

형식: LCSTTR

셰이더 모델을 지정하는 문자열입니다. 은 셰이더 모델 2, 셰이더 모델 3 또는 셰이더 모델 4의 모든 프로필일 수 있습니다.

Flags1 [in]

형식: UINT

셰이더 컴파일 플래그.

Flags2 [in]

형식: UINT

효과 컴파일 플래그. 효과 파일이 아닌 셰이더를 컴파일하는 경우 D3DX10CompileFromResource는Flags2를 무시합니다. 호출된 함수가 이 매개 변수를 사용하지 않을 경우 비점수 매개 변수를 0으로 설정하는 것이 좋은 프로그래밍 방식이므로 Flags2 를 0으로 설정하는 것이 좋습니다.

pPump [in]

형식: ID3DX10ThreadPump*

스레드 펌프 인터페이스에 대한 포인터입니다( ID3DX10ThreadPump 인터페이스 참조). NULL을 사용하여 이 함수가 완료될 때까지 반환하지 않도록 지정합니다.

ppShader [out]

형식: ID3D10Blob**

컴파일된 셰이더와 포함된 디버그 및 기호 테이블 정보를 포함하는 ID3D10Blob 인터페이스 에 대한 포인터입니다.

ppErrorMsgs [out]

형식: ID3D10Blob**

컴파일 중에 발생한 오류 및 경고 목록을 포함하는 ID3D10Blob 인터페이스 에 대한 포인터입니다. 이러한 오류 및 경고는 디버거의 디버그 출력과 동일합니다.

pHResult [out]

형식: HRESULT*

반환 값에 대한 포인터입니다. NULL일 수 있습니다. pPumpNULL이 아닌 경우 비동기 실행이 완료될 때까지 pHResult는 유효한 메모리 위치여야 합니다.

반환 값

형식: HRESULT

반환 값은 Direct3D 10 반환 코드에 나열된 값 중 하나입니다.

요구 사항

요구 사항
헤더
D3DX10Async.h

추가 정보

범용 함수