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]

類型: LPCSTR

包含著色器的字串指標。

SrcDataSize [in]

類型: UINT

以位元組為單位的資料長度。

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

D3DXPreprocessShaderFromResource