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。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱