Share via


ID3DXEffect::Begin 方法

啟動使用中的技術。

語法

HRESULT Begin(
  [out] UINT  *pPasses,
  [in]  DWORD Flags
);

參數

pPasses [out]

類型: UINT*

傳回之值的指標,指出轉譯目前技術所需的傳遞次數。

旗標 [in]

類型: DWORD

DWORD,判斷效果修改的狀態是否已儲存和還原。 預設值 0 指定 ID3DXEffect::BeginID3DXEffect::End 會儲存並還原效果修改的所有狀態, (包括圖元和頂點著色器常數) 。 您可以在 效果狀態儲存和還原旗標中看到有效的旗標

傳回值

類型: HRESULT

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

備註

應用程式會藉由呼叫 ID3DXEffect::Begin,在效果系統中設定一個作用中的技術。 效果系統會藉由擷取狀態欄塊中的技術可以變更的所有管線狀態來回應。 應用程式會呼叫 ID3DXEffect::End來發出技術結尾的訊號,它會使用狀態欄塊來還原原始狀態。 因此,當技術變成作用中,並在技術結束時還原狀態時,效果系統會負責儲存狀態。 如果您選擇停用此儲存和還原功能,請參閱 D3DXFX_DONOTSAVESAMPLERSTATE

ID3DXEffect::BeginID3DXEffect::End 配對內,應用程式會使用 ID3DXEffect::BeginPass 來設定使用中傳遞、 ID3DXEffect::CommitChanges ,如果啟用傳遞之後發生任何狀態變更,以及 ID3DXEffect::EndPass 結束使用中傳遞。

規格需求

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

另請參閱

ID3DXEffect