次の方法で共有


IDirect3DDevice9::BeginScene メソッド (d3d9helper.h)

シーンを開始します。

構文

HRESULT BeginScene();

戻り値

型: HRESULT

メソッドが成功した場合、戻り値はD3D_OK。 IDirect3DDevice9::BeginScene が既に IDirect3DDevice9::BeginSceneIDirect3DDevice9::EndScene/ ペアにあるときに呼び出された場合、メソッドは D3DERR_INVALIDCALL で失敗します。 これは、IDirect3DDevice9::BeginScene が最初に IDirect3DDevice9::EndScene を呼び出さずに 2 回呼び出された場合にのみ発生します。

注釈

アプリケーションはレンダリングを実行する前に IDirect3DDevice9::BeginScene を呼び出す必要があり、レンダリングが完了したら IDirect3DDevice9::EndScene を呼び出してから 、IDirect3DDevice9::BeginScene を再度呼び出す必要があります。

IDirect3DDevice9::BeginScene が失敗した場合、デバイスはシーンを開始できず、IDirect3DDevice9::EndScene を呼び出す必要はありません。 実際、前 の IDirect3DDevice9::BeginScene が失敗した場合、 IDirect3DDevice9::EndScene の呼び出しは失敗します。 これは、複数のスワップ チェーンを作成するすべてのアプリケーションに適用されます。

存在する連続する呼び出し (IDirect3DDevice9::P resent またはIDirect3DSwapChain9::P resent) の間には、1 つの IDirect3DDevice9::BeginScene IDirect3DDevice9::EndScene ペアが必要です。/ レンダリングを実行する前に IDirect3DDevice9::BeginScene を 1 回呼び出し、フレームのすべてのレンダリングがランタイムに送信された後に IDirect3DDevice9::EndScene を 1 回呼び出す必要があります。 入れ子になっていない 複数の IDirect3DDevice9::BeginScene/IDirect3DDevice9::EndScene ペアが存在する呼び出し間は有効ですが、複数のペアがあるとパフォーマンスが低下する可能性があります。 CPU とグラフィックス アクセラレータの間で最大限の並列処理を有効にするには、可能な限り前に IDirect3DDevice9::EndScene を呼び出すと便利です。

要件

要件
対象プラットフォーム Windows
ヘッダー d3d9helper.h (D3D9.h を含む)
Library D3D9.lib

こちらもご覧ください

IDirect3DDevice9