次の方法で共有


ID3DXEffect::CommitChanges

アクティブなパス内で生じるステート変化をレンダリングの前にデバイスに伝えます。

HRESULT 
CommitChanges(
);

パラメータ

なし。

戻り値

メソッドが成功した場合は、D3D_OK を返します。失敗した場合は、次の戻り値のいずれかを返します。D3DERR_INVALIDCALL と D3DXERR_INVALIDDATA のいずれかです。

解説 

ID3DXEffect::BeginPass/ID3DXEffect::EndPass の対応するペア内部にある ID3DXEffect::Setx メソッドのいずれかを使用して、アプリケーションがエフェクト ステートを変化させる場合、アプリケーションは、レンダリングする前にデバイスにステート変化を伝えるための DrawxPrimitive を呼び出す前に、ID3DXEffect::CommitChanges を呼び出す必要があります。ステート変化が ID3DXEffect::BeginPass および ID3DXEffect::EndPass 対応ペア内で発生していない場合、ID3DXEffect::CommitChanges を呼び出す必要はありません。

これは、コピーされたエフェクトの共有パラメーターの場合とは少し異なります。テクニックがコピーされたエフェクトでアクティブな場合 (つまり、ID3DXEffect::End ではなく ID3DXEffect::Begin が呼び出されている場合)、ID3DXEffect::CommitChanges は予想されるとおりに共有されていないパラメーターを更新します。共有されているパラメーターを更新するには (テクニックがアクティブなコピーされたエフェクトのみ)、ID3DXEffect::End を呼び出してテクニックを無効にし、ID3DXEffect::CommitChanges を呼び出す前に、ID3DXEffect::Begin を呼び出してテクニックを再びアクティブにします。

要件

ヘッダー: D3DX9Effect.h 宣言

ライブラリ: D3dx9.lib 内容