次の方法で共有


ID3DXEffect::Begin

アクティブなテクニックを開始します。

HRESULT 
Begin(
  UINT* pPasses,
  DWORD Flags
);

パラメータ

  • pPasses
    現在のテクニックをレンダリングするのに必要なパスの数を示す値を返すポインターです。
  • Flags
    エフェクトにより変化したステートを保存し復元するかどうかを決定する DWORD です。デフォルト値の 0 を指定した場合、エフェクト (ピクセルおよび頂点シェーダー定数を含む) によって変化したすべてのステートが ID3DXEffect::BeginID3DXEffect::Endで保存および復元されます。有効なフラグについては、「エフェクト ステートの保存および復元フラグ」を参照してください。

戻り値

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

解説 

ID3DXEffect::Begin を呼び出して、エフェクト システムで 1 つのアクティブなテクニックを設定します。エフェクト システムは、ステート ブロックにあるテクニックによって変更されるすべてのパイプライン ステートをキャプチャーすることにより応答します。アプリケーションは、ID3DXEffect::End を呼び出してテクニックの終わりを知らせます。これには、元の状態を復元するためにステート ブロックを使用します。したがって、エフェクト システムは、テクニックがアクティブになるときステートを保存し、テクニックが終わるときステートを復元します。この保存と復元の機能を無効にする場合は、「D3DXFX_DONOTSAVESAMPLERSTATE」を参照してください。

ID3DXEffect::Begin および ID3DXEffect::End ペア内で、アプリケーションは ID3DXEffect::BeginPass を使用して、アクティブなパスを設定します。パスがアクティブになった後にステート変化が発生した場合は ID3DXEffect::CommitChanges を設定します。アクティブなパスを終了するには ID3DXEffect::EndPass を設定します。

要件

ヘッダー: D3DX9Effect.h 宣言

ライブラリ: D3dx9.lib 内容