D3DXAssembleShaderFromFile 函式

組合著色器。

語法

HRESULT D3DXAssembleShaderFromFile(
  _In_        LPCTSTR       pSrcFile,
  _In_  const D3DXMACRO     *pDefines,
  _In_        LPD3DXINCLUDE pInclude,
  _In_        DWORD         Flags,
  _Out_       LPD3DXBUFFER  *ppShader,
  _Out_       LPD3DXBUFFER  *ppErrorMsgs
);

參數

pSrcFile [in]

類型: LPCTSTR

指定檔案名的字串指標。 如果編譯器設定需要 Unicode,則資料類型 LPCTSTR 會解析為 LPCWSTR。 否則,字串資料類型會解析為 LPCSTR。 請參閱<備註>。

pDefines [in]

類型:const D3DXMACRO*

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

pInclude [in]

類型: LPD3DXINCLUDE

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

旗標 [in]

類型: DWORD

編譯各種旗標所識別的選項。 Direct3D 10 HLSL 編譯器現在是預設值。 如需詳細資訊,請參閱 D3DXSHADER 旗標

ppShader [out]

類型: LPD3DXBUFFER*

傳回包含所建立著色器的緩衝區。 此緩衝區包含編譯的著色器程式碼,以及任何內嵌的偵錯和符號資料表資訊。

ppErrorMsgs [out]

類型: LPD3DXBUFFER*

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

傳回值

類型: HRESULT

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

備註

編譯器設定也會決定函式版本。 如果已定義 Unicode,函式呼叫會解析為 D3DXAssembleShaderFromFileW。 否則,函式呼叫會解析為 D3DXAssembleShaderFromFileA,因為正在使用 ANSI 字串。

規格需求

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

另請參閱

著色器函式

D3DXCompileShader

D3DXCompileShaderFromResource