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

IDirect3DDevice9::BeginScene を呼び出して開始されたシーンを終了します。

構文

HRESULT EndScene();

戻り値

型: HRESULT

メソッドが成功した場合、戻り値はD3D_OK。 IDirect3DDevice9::BeginScene が既に IDirect3DDevice9::BeginScene/IDirect3DDevice9::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 回呼び出す必要があります。 CPU とグラフィックス アクセラレータの間で最大限の並列処理を有効にするには、可能な限り先に IDirect3DDevice9::EndScene を呼び出すと便利です。

要件

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

こちらもご覧ください

IDirect3DDevice9