Share via


ID3DXEffect::CommitChanges 方法

在轉譯之前,將作用中傳遞內發生的狀態變更傳播至裝置。

語法

HRESULT CommitChanges();

參數

這個方法沒有任何參數。

傳回值

類型: HRESULT

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

備註

如果應用程式在ID3DXEffect::BeginPass/ID3DXEffect::EndPass比對配對內使用任何ID3DXEffect::Setx方法變更任何效果狀態,則應用程式必須在任何 DrawxPrimitive 呼叫之前呼叫ID3DXEffect::CommitChanges,才能將狀態變更傳播至裝置,然後再轉譯。 如果未在 ID3DXEffect::BeginPassID3DXEffect::EndPass 比對內發生狀態變更,則不需要呼叫 ID3DXEffect::CommitChanges

對於複製效果中的任何共用參數,這稍有不同。 當複製效果上的技術作用中 (即,呼叫ID3DXEffect::Begin但未) 呼叫ID3DXEffect::End 時,ID3DXEffect::CommitChanges會更新未如預期般共用的參數。 若要更新共用參數 (僅針對技術作用中) 的複製效果,請呼叫 ID3DXEffect::End 來停用技術和 ID3DXEffect::Begin 在呼叫 ID3DXEffect::CommitChanges之前重新啟用技術。

規格需求

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

另請參閱

ID3DXEffect