다음을 통해 공유


D3DXPreprocessShaderFromResource 함수

컴파일을 수행하지 않고 셰이더 리소스를 전처리합니다. 이렇게 하면 모든 #defines 및 #includes 해결되어 후속 컴파일을 위한 자체 포함 셰이더가 제공됩니다.

참고

이 레거시 함수를 사용하는 대신 D3DPreprocess API를 사용하는 것이 좋습니다.

 

구문

HRESULT D3DXPreprocessShaderFromResource(
  _In_        HMODULE       hSrcModule,
  _In_        LPCSTR        pSrcResource,
  _In_  const D3DXMACRO     *pDefines,
  _In_        LPD3DXINCLUDE pInclude,
  _Out_       LPD3DXBUFFER  *ppShaderText,
  _Out_       LPD3DXBUFFER  *ppErrorMsgs
);

매개 변수

hSrcModule [in]

형식: HMODULE

셰이더 리소스를 보유하는 모듈에 대한 핸들입니다. 이 값이 NULL이면 현재 모듈이 사용됩니다.

pSrcResource [in]

형식: LCSTTR

모듈의 리소스 이름을 나타내는 문자열입니다.

pDefines [in]

형식: const D3DXMACRO*

D3DXMACRO 구조체의 선택적 NULL 종료 배열입니다. 이 값은 NULL일 수 있습니다.

pInclude [in]

형식: LPD3DXINCLUDE

#include 지시문을 처리하는 데 사용할 선택적 인터페이스 포인터 ID3DXInclude입니다. 이 값이 NULL이면 파일에서 컴파일할 때 #includes 적용되거나 리소스 또는 메모리에서 컴파일될 때 오류가 발생합니다.

ppShaderText [out]

형식: LPD3DXBUFFER*

결과 형식이 지정된 토큰 스트림을 나타내는 단일 큰 문자열을 포함하는 버퍼를 반환합니다.

ppErrorMsgs [out]

형식: LPD3DXBUFFER*

컴파일 중에 발생한 오류 및 경고 목록을 포함하는 버퍼를 반환합니다. 디버그 모드에서 실행할 때 디버거가 표시하는 것과 동일한 메시지입니다. 이 값은 NULL일 수 있습니다.

반환 값

형식: HRESULT

함수가 성공하면 반환 값이 D3D_OK. 함수가 실패하면 반환 값은 D3DERR_INVALIDCALL, D3DXERR_INVALIDDATA, E_OUTOFMEMORY 중 하나일 수 있습니다.

요구 사항

요구 사항
헤더
D3DX9Shader.h
라이브러리
D3dx9.lib

추가 정보

셰이더 함수

D3DXPreprocessShaderFromFile

D3DXPreprocessShader