D3D10PreprocessShader 函式 (d3d10shader.h)
產生著色器文字字串,其中包含可在編譯的著色器中找到的著色器標記。
語法
HRESULT D3D10PreprocessShader(
[in] LPCSTR pSrcData,
[in] SIZE_T SrcDataSize,
[in] LPCSTR pFileName,
[in] const D3D10_SHADER_MACRO *pDefines,
[in] LPD3D10INCLUDE pInclude,
[out] ID3D10Blob **ppShaderText,
[out] ID3D10Blob **ppErrorMsgs
);
參數
[in] pSrcData
類型: LPCSTR
包含著色器原始程式碼的字串指標。
[in] SrcDataSize
類型: SIZE_T
pSrcData 的大小,以位元組為單位。
[in] pFileName
類型: LPCSTR
包含著色器程式代碼的檔名。
[in] pDefines
類型: const D3D10_SHADER_MACRO*
選擇性。 宏定義的陣列指標 (請參閱 D3D10_SHADER_MACRO) 。
陣列中的最後一個結構會做為終止符,而且所有成員都必須設定為 0。
如果未使用,請將 pDefines 設定為 NULL。
[in] pInclude
類型: LPD3D10INCLUDE
選擇性。 ID3D10Include Interface 介面的指標,用於處理 include 檔案。 如果著色器包含 #include,將此設定為 NULL 會導致編譯錯誤。
[out] ppShaderText
類型: ID3D10Blob**
緩衝區的指標,接收 ID3D10Blob介面 的指標,其中包含包含著色器標記的單一字串。
[out] ppErrorMsgs
類型: ID3D10Blob**
緩衝區的指標,接收 ID3D10Blob介面 的指標,其中包含編譯期間發生的錯誤和警告清單。 這些錯誤和警告與調試程式的偵錯輸出相同。
傳回值
類型: HRESULT
傳回下列其中一個 Direct3D 10 傳回碼。
備註
使用此函式來產生著色器令牌數據流,這是著色器編譯程式的已編譯輸出。
規格需求
需求 | 值 |
---|---|
目標平台 | Windows |
標頭 | d3d10shader.h |
程式庫 | D3D10.lib |
Dll | D3D10.dll |