共用方式為


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

另請參閱

著色器函式