D3DXPreprocessShader 함수
컴파일을 수행하지 않고 셰이더를 전처리합니다. 이렇게 하면 모든 #defines 및 #includes 해결되어 후속 컴파일을 위한 자체 포함 셰이더가 제공됩니다.
참고
이 레거시 함수를 사용하는 대신 D3DPreprocess API를 사용하는 것이 좋습니다.
구문
HRESULT D3DXPreprocessShader(
_In_ LPCSTR pSrcData,
_In_ UINT SrcDataSize,
_In_ const D3DXMACRO *pDefines,
_In_ LPD3DXINCLUDE pInclude,
_Out_ LPD3DXBUFFER *ppShaderText,
_Out_ LPD3DXBUFFER *ppErrorMsgs
);
매개 변수
-
pSrcData [in]
-
형식: LCSTTR
셰이더를 포함하는 문자열에 대한 포인터입니다.
-
SrcDataSize [in]
-
형식: UINT
데이터의 길이(바이트)입니다.
-
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 중 하나일 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 |
|
라이브러리 |
|
추가 정보