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]

類型: LPCSTR

表示模組中資源名稱的字串。

pDefines [in]

類型:const D3DXMACRO*

選擇性 的 Null 終止陣列 D3DXMACRO 結構。 此值可以是 Null

pInclude [in]

類型: LPD3DXINCLUDE

選擇性介面指標 ID3DXInclude,用於處理#include指示詞。 如果此值為 Null,則從檔案編譯時#includes會接受,或從資源或記憶體編譯時造成錯誤。

ppShaderText [out]

類型: LPD3DXBUFFER*

傳回緩衝區,其中包含代表所產生格式化權杖資料流程的單一大型字串。

ppErrorMsgs [out]

類型: LPD3DXBUFFER*

傳回緩衝區,其中包含編譯期間遇到的錯誤和警告清單。 這些是偵錯工具在偵錯模式中執行時所顯示的相同訊息。 此值可以是 Null

傳回值

類型: HRESULT

如果函式成功,傳回值會D3D_OK。 如果函式失敗,傳回值可以是下列其中一項:D3DERR_INVALIDCALL、D3DXERR_INVALIDDATA E_OUTOFMEMORY。

規格需求

需求
標頭
D3DX9Shader.h
程式庫
D3dx9.lib

另請參閱

著色器函式

D3DXPreprocessShaderFromFile

D3DXPreprocessShader